我想在我的Raspberry中添加一个cron作业,每五分钟执行一次任务。 所以我在终端做了:
crontab -e
然后在文件中添加:
*/1 * * * * /usr/bin/php myscript path.
脚本非常简单。只是尝试它是否有效:
<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = date("l jS \of F Y h:i:s A") . "<br>";;
fwrite($myfile, $txt);
fclose($myfile);
?>
问题是日期没有更新,因此cron作业不起作用。对这个问题有什么看法吗?
更新
当我执行crobtab -e
时,我得到了这个 GNU nano 2.2.6 File: /tmp/crontab.3IXg0z/crontab
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
* * * * * /usr/bin/php /full/path/myscript.php
答案 0 :(得分:3)
首先,确保脚本是可执行的:
chmod +x /path/to/some/script.php
其次,请确保您的脚本在第一行有适当的#!
(或&#34; shebang&#34; ):
#!/usr/bin/php
然后确保您的cron作业配置正确。 cron的格式通常为m h dom mon dow command
sudo crontab -e
*/5 * * * * /path/to/some/script.php
答案 1 :(得分:1)
如果您想每5分钟运行一次脚本,则应添加此条目。
*/5 * * * * /usr/bin/php /full/path/to/php/script.php
答案 2 :(得分:1)
确保在crontab上正确设置了PATH
变量,以便它可以找到您的文件。
您可以简单地将以下行添加到crontab
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/path/to/newfile.txt
尝试,按照测试
* * * * * touch /tmp/hello
执行以下操作以重定向结果
*/5 * * * * /usr/bin/php /full/path/to/php/script.php > /tmp/out.txt
确保您的脚本在命令行上运行。
/usr/bin/php /full/path/to/php/script.php
使用-f选项执行脚本:
*/5 * * * * /usr/bin/php -f /full/path/to/php/script.php
尾部记录文件以查看每5分钟执行一次
tail -f /var/log/cron