如何检查cron作业是否正在运行?
我在crontab -e
添加了以下命令:
15 * * * * php /home/rizwan/PHP-workspace/mgstore/testcron.php
我需要每15分钟运行一次testcron.php
; 出于测试目的,我在testcron.php
使用了以下PHP代码:
<?php echo "test";
15 * * * * /usr/bin/php /home/rizwan/PHP-workspace/mgstore/testcron.php >> /home/rizwan/cron.out
这是有效的。但我有一个PHP脚本,用于将客户从magento添加到ERP,当我手动运行脚本时,它要求授权,在接受它后从magento创建客户到ERP,我需要每当我在5后添加客户magento或10分钟这个脚本应该运行并将客户添加到ERP。这可以做到吗?,如果有任何想法,请帮忙吗?
首先,您必须确保通过完整路径运行可执行文件。 你可以使用which
命令获取路径
$ which php /usr/bin/php
现在crontab中的条目必须是:
15 * * * * /usr/bin/php /home/rizwan/PHP-workspace/mgstore/testcron.php
现在要检查输出,您可以使用重定向技巧,因此将输出重定向到某个文件,然后您可以检查文件以查看结果。 所以条目是:
15 * * * * /usr/bin/php /home/rizwan/PHP-workspace/mgstore/testcron.php >> /home/rizwan/cron.out
现在,您可以检查您家中名为cron.out
的文件,看看您的cron是否运行。
在PHP中,您可以使用反引号运算符或shell_exec()
函数在系统的默认shell中运行命令; 你可以运行pgrep 'php /home/rizwan/PHP-workspace/mgstore/testcron.php'
并评估它的返回码; 这个:
或这个: