运行 打印当前时间的 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 文件中写入任何内容。 我使用了 THIS 教程。

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 的用户 运行 有权写入该文件夹。