我想每2分钟运行一个php
脚本,在一个名为data.txt
的文件中打印当前时间。为此,我在/var/www/test/cronjob.php
中创建了一个文件:
$fp = fopen('data.txt', 'w');
$ctime = date('d/m/Y h:i:s A');
fwrite($fp, $ctime);
fclose($fp);
如果我在浏览器中运行它,效果会很好。为了在一定的时间间隔内每2分钟执行一次这个文件,我使用crontab*/2 * * * * /var/www/html/test/cronjob.php
但它没有在我的data.txt文件中写入任何内容。我使用了这个教程
cron需要知道如何运行脚本,因此您需要在cron行中指定它:
*/2 * * * * /usr/bin/php /var/www/html/test/cronjob.php 1>> /dev/null 2>&1
1>> /dev/null 2>&1
将相当cron,因此它不保存日志。
您还需要更改要保存的文件的路径。它不会像您期望的那样保存在/var/www/html/test/中,而是保存在用户的主目录中,即~/<your username>
。要保存到另一个目录,您需要提供完整的路径:
$fp = fopen('/var/www/html/test/data.txt', 'w');
还要确保运行cronjob的用户具有写入该文件夹的权限。