在 CentOS 系统中,定时任务是通过 cron
服务来管理和执行的。cron
服务会根据用户的配置文件和系统的全局配置文件中的任务来执行定时任务。这些任务按照时间顺序执行,具体顺序如下:
系统全局配置文件:/etc/crontab
文件是系统级别的定时任务配置文件,所有用户都可以在这里添加定时任务。这个文件的格式与其他用户的 crontab 文件略有不同,它包含一个额外的字段用于指定运行任务的用户。
用户级别的配置文件:每个用户都可以在自己的主目录下创建一个名为 .crontab
的文件,用于存放该用户的定时任务。这个文件只能由用户自己编辑,其他用户无法访问。要编辑用户的 crontab 文件,可以使用 crontab -e
命令。
系统级别的定时任务目录:/etc/cron.hourly/
、/etc/cron.daily/
、/etc/cron.weekly/
和 /etc/cron.monthly/
这四个目录分别用于存放按小时、每天、每周和每月执行一次的定时任务。将这些任务放在相应的目录下,cron
服务会自动按照时间顺序执行它们。
anacron
:anacron
是一个简单的任务调度程序,用于处理那些不能保持 24 小时运行的系统。它的配置文件位于 /etc/anacrontab
。anacron
会确保每个任务在指定的时间间隔内至少执行一次。
cron
服务会按照以下顺序检查定时任务:
/etc/crontab
文件。/etc/cron.hourly/
目录下的脚本。.crontab
文件。/etc/cron.daily/
目录下的脚本。/etc/cron.weekly/
目录下的脚本。/etc/cron.monthly/
目录下的脚本。anacron
任务。注意:cron
服务默认在系统启动后的几分钟内开始运行。如果需要在系统启动时立即执行某个任务,可以将该任务添加到 /etc/rc.local
文件中。