/etc/crontab 和 /var/spool/cron区别 | 您所在的位置:网站首页 › crontab和cron › /etc/crontab 和 /var/spool/cron区别 |
1.(用户级的)/var/spool/cron/这个目录是以账号来区分每个用户自己的执行计划(推荐使用)
使用crontab -e 进入编辑
-rw——-. /var/spool/cron/root
-rw——-. /var/spool/cron/user1
-rw——-. /var/spool/cron/user2
格式:
*/1 * * * * /opt/scripts
2.(系统级的)/etc/crontab系统执行计划,需要在五个*后面加上用户
直接vi:/etc/crontab进入编辑
格式:
*/1 * * * *
root /opt/scripts
3.服务重启
3.1 /etc/init.d/crond restart
3.2 service crond restart
———————————-
附:老是执行自动脚本不成功,一个问题是脚本里面引用的文件,一定要写上绝对目录!!!
因为不写绝对目录,crontab执行时,相对路径是/etc/crontab或/var/spool/cron,而不是执行脚本的相对目录,切记!!!
推荐使用用户级!
在crontab中执行的shell脚本,尽量少用输出到文件,尽量使用: 1 17 * * * sh /data/shell/day-17.sh >>day.txt。
crontab的执行日志在:/var/log/cron
4.系统补充自动执行
Anacrontab,配置在:/etc/anacrontab
举例:
任务a在crontab定义为每周日晚上0点执行。因为某种原因本周0点服务器没有启动,那么crontab没有执行成功/var/spool/cron记录的时间还是上周末,Anacrontab发现了上次执行时间超过了一周,那么会进行补执行。
http://www.c4ys.com/?p=744
注意:
定时任务中的目录: cron.daily/ cron.hourly/ cron.monthly/ cron.weekly/
其中有一个蛋疼的事就是,使用yum安装nginx后,会自动压缩了日志.但crontab -l查看不到定时任务,原因是:
压缩日志的脚本写在/etc/logrotate.d/nginx下,而目录/etc/logrotate是在cron.daily下作为每日任务,文件是/etc/cron.daily/logrotate
logrotate:日志管理工具
http://www.oschina.net/question/948305_136423?sort=time
再次入坑sh内使用文件时,没有输出结果,原因是应使用绝对路径,因为crontab执行sh时,默认相对目录是crontab所在目录,而不是执行sh所对应的目录. 自动较正时间:使用cron+ntp实现 yum -y install ntpdate crontab -e 0 9 * * * /usr/sbin/ntpdate asia.pool.ntp.org >> /var/log/ntpdate.log 附: 设置中国时区: ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 设置秒级的定时任务 https://www.linuxidc.com/Linux/2011-11/46361.htm |
CopyRight 2018-2019 实验室设备网 版权所有 |