关于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
- 本文固定链接: http://www.web8899.com/2014/05/30/关于centos中crontab的定时脚本不执行shell的问题/
- 转载请注明: dean 于 迈向卓越-个人博客 发表