1、crontab不立即生效
新建的crontab定时任务保存后需要等待2分钟后才会执行,当然如果想要立即执行可以重启crontab。
当crontab失效时,可以尝试/etc/init.d/crond restart解决问题,或者查看日志看某个任务有没有执行报错tail -f /var/log/cron。
2、crontab不执行
首先检查状态systemctl status ntpd,当状态未开启时,说明未配置开机自启,所以不能进行时间同步,因为后面的两台机器进行同步时需要使用Node01的ntpd服务。
使用命令启动ntpd服务systemctl restart ntpd或者systemctl start ntpd
使用命令设置开机自启systemctl enable ntpd
如果问题未解决,查看脚本中涉及文件路径时写全局路径,更新系统时间时区后需要重启cron。
当手动执行脚本OK,但是crontab死活不执行时很有可能是环境变量,可尝试在crontab中直接引入环境变量解决问题,例如:
0 * * * * . /etc/profile;/bin/sh /root/wzfou.com/backup.sh
3、crontab无权限执行
要注意系统级任务调度与用户级任务调度。只有 root 用户和 crontab 文件的所有者可以在 -e 、-l、-r 和 -v标志后面使用 UserName 以编辑、列出、除去或验证指定用户的 crontab 文件。
root用户的任务调度操作可以通过”crontab –uroot –e”来设置,也可以将调度任务直接写入/etc/crontab文件。
想编辑别的用户的 crontab, 使用root运行下面的命令,同一个格式 (追加 “-u username” 到命令后) 也可以用来列出或删除 crontabs。
crontab -u username -e
4、crontab执行后通知
当Crontab定时任务在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,可以在日志中/var/log/cron看到。若是你不希望收到这样的通知,请在每一行空一格之后加上 > /dev/null 2>&1 即可