我有一个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
当我手动运行脚本main.py
时,一切都工作得很好。当我女士试图使用crontab工作,创建锁文件,但是当我对ps aux | grep main.py
找工作我什么也没看见在输出以及请求用于main.py
不是由
我可能做错了什么?
flock
正在子进程中执行cd
,然后在完成时释放锁。如果Python脚本需要在该目录下运行,则不会发生,因为该目录仅在子进程中更改。
您应该使用flock -c
在同一个shell进程中执行cd
和python
。
*/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'