我无法设置cron作业

我试图在“crontab -e”中设置一个cron作业:

* * * * * /usr/bin/php /home/vagrant/Code/xxx/testCron.php

testCron.php文件创建另一个文件,它只包含这个:

<?php
$f = fopen('cron-' . date('H-i-s') . '.txt', 'w+');
fwrite($f, 'asdf');
fclose($f);

但文件cron -.... txt不出现。 是否会成为问题?


我做了/检查了这一点:

  • 克龙正在工作。 我用sudo“service cron start”commad检查了这个。
  • $ PATH包含“/home/vagrant/.composer/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/游戏:在/ usr /本地/游戏”

  • 您可以检查来自cron作业的日志以识别错误。

    根据您的系统,cron日志可以位于不同的地方。 查找包含cron日志的文件:

    grep -ic cron /var/log/* | grep -v :0
    ./auth.log:1246
    ./auth.log.1:3054
    ./bootstrap.log:3
    ./syslog:187
    ./syslog.1:220
    

    然后查看相关日志的内容,例如通过cat

    cat /var/log/syslog
    

    或者在该文件中查看最新的testCron.php运行:

    grep -i testCron.php /var/log/syslog | tail -1
    

    你的脚本创建没有路径的cron-...txt文件; 因此它出现在当前目录中 - 是否具有写入权限。 Cronjobs将有一个不同的起始目录 - 通常是用户的家,但可能在任何地方,具体取决于配置。

    尝试其中之一:

  • 更改脚本以在特定目录中创建文件
  • 做一个chdir()来设置一个特定的当前工作目录
  • 在你的crontab配置中设置一个特定的目录
  • 查找用户主目录中的文件
  • 确保用户对放置文件的目录具有写入权限
  • 链接地址: http://www.djcxy.com/p/56851.html

    上一篇: I can't set cron job

    下一篇: System Shell Scripts Can't Find my Command in PATH