【问题标题】:Run a cron job that prints current time in Ubuntu在 Ubuntu 中运行一个打印当前时间的 cron 作业
【发布时间】:2015-08-10 02:53:05
【问题描述】:

我想每 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教程。

【问题讨论】:

  • 你必须调用 php 来取乐 .. */2 * * * * php /var/www/html/test/cronjob.php 可能需要完整的 php 路径(但通常不是)
  • 是什么意思?我没明白你的意思。你能解释一下@Dagon
  • 解释一下?看我给的例子
  • 另外,您可以使您的 PHP 脚本可执行,并将“shebang”作为文件的第一行。检查examples on this page 以获得易于复制的内容。 :)

标签: php time cron ubuntu-14.04


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-09-27
    • 1970-01-01
    • 2016-09-22
    • 2014-04-04
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    相关资源
    最近更新 更多