如何检查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'并评估它的返回码; 这个:

  

或这个: