0

我有以下 cron 工作

7,22,37,52 6-16 * * * myuser    /bin/bash -l -c "cd /to/my/path/; rake my_rake_task"

我需要将它与一些文件锁定一起使用,这样该任务就不会多次运行,并且环顾四周,我发现flock 是这种场景的好工具。

我的问题是,在上面使用 flock 的正确语法是什么?这就是我的猜测,但是,我有额外的用户定义等等。

这个对吗?

flock -n /var/run/my_app.lock -c 7,22,37,52 6-16 * * * myuser    /bin/bash -l -c "cd /to/my/path/; execute_my_command"
4

1 回答 1

3

不,这是正确的。有关man crontabcrontab 文件的语法,请参阅。正确的命令如下所示:

7,22,37,52 6-16 * * *  myuser  /bin/bash -l -c "cd /to/my/path/ && flock -n /var/run/my_app.lock -c execute_my_command"

..但更简洁的方法是将其放入包装脚本并从cron.

于 2013-11-15T14:28:20.853 回答