我希望每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教程。
答案 0 :(得分:1)
cron需要知道如何运行脚本,因此需要在cron行中指定它:
*/2 * * * * /usr/bin/php /var/www/html/test/cronjob.php 1>> /dev/null 2>&1
1>> /dev/null 2>&1
将完全克隆,因此不会保存日志。
您还需要更改要保存的文件的路径。它不会像您期望的那样保存在/ var / www / html / test /中,而是保存在您的用户主目录中,它将是~/<your username>
。要保存在另一个目录中,您需要提供完整路径:
$fp = fopen('/var/www/html/test/data.txt', 'w');
还要确保运行cronjob的用户有权写入该文件夹。