我有一个 test.sh 脚本
#!/bin/sh
php /home/v/file.php
sh /root/x/some.sh
Run Code Online (Sandbox Code Playgroud)
当我从命令行以 root 身份执行文件时,它可以工作。
sh /home/v/test.sh
Run Code Online (Sandbox Code Playgroud)
当我将它设置为 crontab -e(是根 cron)时,它不起作用
* * * * * sh /home/v/test.sh
Run Code Online (Sandbox Code Playgroud)
我做错了什么?谢谢
更新(和剪断)下面的更多详细信息。
我已经设置了一个 cron 脚本,我正在尝试调试它为什么没有运行。[剪切上下文测试,一切正常;有关详细信息,请参阅修订版 2 ]命令本身,如果有帮助,(箭头表示换行以提高可读性)是:
/usr/bin/php -C /etc /path/to/process.php
? >>/path/to/stdout.log 2>>/path/to/stderr.log
Run Code Online (Sandbox Code Playgroud)
[截取权限测试,一切正常;详情见下文和修订版 2 ]
检查crontab
(再次,包装为易读性),我得到:
[blackero@XXXXXXXXXXX to]$ sudo crontab -u cronuser -l
MAIL="blackero@localhost"
30 9 * * * cronuser /usr/bin/php -C /etc /path/to/process.php
? >>/path/to/stdout.log 2>>/path/to/stderr.log
20 18 7 * * cronuser /usr/bin/php -C /etc /path/to/process.php
? >>/path/to/stdout.log 2>>/path/to/stderr.log
22 18 7 * * cronuser echo "Test" > /path/to/test.txt
? 2> /path/to/error.txt
Run Code Online (Sandbox Code Playgroud)
在 2012-02-08 12:32 Z更新 #1
[剪辑:尝试过derobert …
我在使用 PHP 文件运行 Crontab 时遇到了一些问题。
我在 Crontab 中运行了相同的 php 脚本超过 6 个月,但几天前他们神秘地停止了正确执行代码。Crontab 工作但脚本产生错误。另一个有趣的事情是,相同的脚本在 SSH 终端中运行时没有错误。
这里应该是什么问题?有没有办法将 Crontab 配置为使用 SSH 终端的相同配置运行?