[红旗] 手动可以执行,加入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 看看。