运行一个cron作业,在Ubuntu中打印当前时间


Run a cron job that prints current time in Ubuntu

我想每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的用户具有写入该文件夹的权限。