crond不执行缘由分析

本身写了个脚本,让crond来周期性执行脚本进行备份,可是在crontab -e里面加入了执行脚本以后,发现没有执行,后来分析了一下,crond不执行的缘由主要有如下几个方面:调试

一、crond服务没启动rest

service crond start           //启动服务
service crond stop           //关闭服务
service crond restart       //重启服务
service crond reload       //从新载入配置crontab

二、用户没有执行crond的权限test

/etc/cron.deny文件用来控制哪些用户不能执行crond服务的功能。变量

能够将本身从文件中删去,或者联系root配置

三、crontab不提供所执行用户的环境变量file

解决方法:在脚本中加入下面这一行:service

. /etc/profile
四、没有使用绝对路径终端

这里的绝对路径包括脚本中的路径和crond命令中的路径两个方面。权限

五、若是上面都没有解决问题的话能够再找找问题:

1)去邮件看看,在这个过程当中用户应该会收到邮件,好比收到这样的提示:

You have mail in /var/spool/mail/root

去看看里面就有crond的内容

2)在脚本里面加入output用来调试

能够在crontab的脚本里面添加个echo $PATH > /tmp/test.log

对比和终端下执行脚本的echo $PATH

相关文章
相关标签/搜索