首页 > 服务器 > Linux > 关于CentOS中crontab的定时脚本不执行Shell的问题
2014
05-30

关于CentOS中crontab的定时脚本不执行Shell的问题

关于CentOS中crontab的定时脚本不执行Shell的问题

昨天帮客户设置一下Linux中的SVN软件,并帮忙设置一下开启启动,中间我自己写了一个Shell脚本开启启动,并5分钟检查一次看看有没有执行。

如果忽,忙开了, Shell写好,手动执行一下可以执行, 然后往 /etc/crontab 中添加
*/5 * * * root /home/shell/***.sh

然后重启crond

service crond restart

然后就去系统日志里看看crontab的日志

tailf /var/log/crond

看着日志发现确实是5分钟执行一次上面写的脚本了,但是就是没效果。

手动执行了好几次都是可以执行的脚本, 后来去百度、Google查一下,发现有这样一个问题,
如果系统的Path中没有你要执行的Shell程序的路径,那么Crontab就没办法执行这个脚本。

解决方案是在PATH中添加这些路径,例如:

SHELL=/bin/bash
#PATH=/sbin:/bin:/usr/sbin:/usr/bin
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
MAILTO=root
HOME=/

如何是要重启Apache什么的, 在PATH中添加
/usr/local/apache/bin

如果是要启动MySQL数据库,在PATH中添加
/usr/local/mysql/bin

如果是要启动 CSVN, 在PATH中添加
/srv/csvn/bin

最后编辑:
作者:郑 国华
这个作者貌似有点懒,什么都没有留下。

留下一个回复