(转)[红旗] 手动可以执行,加入crontab 就不行了


[红旗] 手动可以执行,加入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 里编辑可以了



 

回复 6# 古道风_cu 


    root 邮件能有错误提示
__________________________________
问:你是要解决问题的过程,还是要最后的答案?



 

最好在脚本里包含path等相关的环境变量。否则很容出现楼主说的问题



 

回复 1# 古道风_cu 


      还有  crontab -e里编辑   中间别加  root  字段   

      和 etc/crontab 里有点区别
__________________________________
问:你是要解决问题的过程,还是要最后的答案?



 

php 放这里不太合适,换 curl 看看。
__________________________________
大梦谁先觉?平生我自知,草堂春睡足,窗外日迟迟。
.

猜你喜欢

转载自mlxia.iteye.com/blog/1114817