[红旗] 手动可以执行,加入crontab 就不行了
30 2 * * * root /usr/sbin/bakmysql 01 1 1 * * root /usr/local/php/bin/php -q /usr/local/apache2/htdocs/index.php 这个是crontab -l 的结果 上面的一个php脚本和一个备份mysql的shell脚本 如果手动执行以上两个文件,都是可以运行的, 有结果输入 但是加入crontab 就没结果了,php文件没有结果,mysql也没有备份 但是crontab的日志里却是有执行的 这个是怎么回事呀 下面是cron日志 1号的 Apr 1 01:01:01 NBSS crond[14047]: (root) CMD (root /usr/local/php/bin/php -q /usr/local/apache2/htdocs/index.php) Apr 1 02:30:01 NBSS crond[14122]: (root) CMD (root /usr/sbin/bakmysql) 2号的 Apr 2 02:30:01 NBSS crond[3819]: (root) CMD (root /usr/sbin/bakmysql) 求指点 |
脚本有执行权限吗? |
还有用绝对路径 不要用相对路径 |
脚本有执行权限, 我的crontab用的都是绝对路径 |
可能是没有初始化环境变量哦,在脚本中增加 . $HOME/.bash_profile 试试 |
可以了, 我不使用crontab -e来编辑 直接在 /etc/crontab 里编辑可以了 |
root 邮件能有错误提示 |
最好在脚本里包含path等相关的环境变量。否则很容出现楼主说的问题 |
还有 crontab -e里编辑 中间别加 root 字段 和 etc/crontab 里有点区别 |
php 放这里不太合适,换 curl 看看。 |