如何一次只从 cron 运行一次脚本?

Geo*_*F67 2 scripting php cron

我想运行一个 cron 作业。安排它很容易并且有效。

我的问题是我不知道如何一次只运行一个版本。

有任何想法吗?

G-Man

Ste*_*day 10

我向 embobo 道歉,但我复制了他的脚本并对其进行了修改,以消除我在对他的回答的评论中指出的竞争条件:

#!/bin/sh
LOCKDIR=/var/run/myprog.lock
mkdir --mode=700 $LOCKDIR || exit 0
trap "{ rm -rf $LOCKDIR ; exit 0; }" EXIT
# do stuff
Run Code Online (Sandbox Code Playgroud)

基本上,我们指望目录创建是原子的,因此只有一个并发运行的脚本副本才能成功创建$LOCKDIR. 最好确保它$LOCKDIR在本地驱动器上,而不是在 NFS 磁盘或 Samba 挂载等上。