带有 crontab 的集群无法正常工作

Gra*_*ood 2 bash cron flock

我有一个 crontab 作业,如下所示:

*/5 * * * *  /usr/bin/flock -w 0 /home/partners_perfluence_delivery/cron.lock cd /home/partners_perfluence_delivery && /usr/bin/python3 /home/partners_perfluence_delivery/main.py
Run Code Online (Sandbox Code Playgroud)

当我手动运行脚本时main.py,一切都很顺利。当我尝试使用 crontab 作业时,会创建锁定文件,但是当我寻找作业时,ps aux | grep main.py我在输出中看不到任何内容,并且main.py未发出使用的请求

我可能做错了什么?

Bar*_*mar 6

flock在子进程中执行cd,然后在完成时释放锁。如果 Python 脚本需要在该目录中运行,则不会发生,因为该目录仅在子进程中更改。

您应该在同一个 shell 进程中使用执行cd和。pythonflock -c

*/5 * * * *  /usr/bin/flock -w 0 /home/partners_perfluence_delivery/cron.lock -c 'cd /home/partners_perfluence_delivery && /usr/bin/python3 /home/partners_perfluence_delivery/main.py'
Run Code Online (Sandbox Code Playgroud)