学习背景
一般实际的项目中多多少少都可能会涉及到定时任务的场景,比如定时
nginx日志清理及备份、tomcat日志滚动、MySQL数据库自动备份、批量解析数据文件导入导出等等,定时任务执行的对象可能是shell脚本等指令文件。而定时任务的实现,在Java工程当中,可以通过Spring Quartz配置定时任务,在Linux服务器可以通过自带的crond服务配置定时任务,方式有很多种,本文主要介绍Linux服务自带的定时服务,有crond、anacron、crontab、anacrontab,这四种服务相互联系,但又有一定的区别。
进入正文~
一、crond VS anacron
crond是Linux操作系统自带的定时服务,自带守护进程,一般用于运行计划任务如系统备份、日志分割级清理。crond服务更适合在那些24x7不间断运行的机器如服务器上运行的计划任务。anacron则是较新版Linux操作系统自带的定时服务,CentOS 6.0后系统会自带anacron服务,没有守护进程,需要依赖crond服务运行,也是常用于运行计划任务如系统备份、日志分割级清理。但anacron服务比较适合用在一天内或一周内会重启的机器上运行的计划任务。
主要区别对比:
| crond | anacron |
|---|---|
有守护进程,ps -ef|grep crond查看 |
没有守护进程,依赖crond运行 |
二进制文件/usr/sbin/crond |
二进制文件/usr/sbin/anacron |
定时任务全局配置文件/etc/crontab |
定时任务全局配置文件/etc/anacrontab |
可配置定时任务的时间最小单位是分钟 |
可配置定时任务的时间最小单位是天 |
普通用户可使用crontab -e 但/etc/crontab也仅root用户可配置 |
仅root用户可配置 |
| 比较适合持续运行不关机的服务器 | 比较适合可能会一天内或一周内关机,重新开机后会重新运行缺失的计划任务的服务器 |
二、crond/crontab、anacron/anacrontab说明
2.1、crond
-
crond服务可配置最小时间单位为分钟级的定时服

本文介绍了Linux中的crond和anacron定时服务的区别,以及它们对应的crontab和anacrontab配置方法。crond适合24x7运行的服务器,anacron则适用于周期性重启的机器。crond服务的最小时间单位为分钟,而anacron依赖crond,用于非持续在线的系统。文章还详细讲解了crond/crontab和anacron/anacrontab的使用及配置,并给出了日志清理及备份的示例。
7431

被折叠的 条评论
为什么被折叠?



