-
Linux计划任务的种类:
例行性:周期性的,使用crontab命令执行,也可以编辑/etc/crontab来执行,让crontab生效的服务是crond。
突发性:只执行一次的命令,使用at,需要atd服务支持,centos默认启动这个服务。 -
Linux系统上常见的例行性工作 :在线更新,自动做日志分析等。
-
at的运行方式:用at命令产生要运行的任务,然后将此任务以文本文件的方式写入/var/spool/at/目录内,该任务就等待atd服务的执行了。
-
对at的使用限制:/etc/at.allow和/etc/at.deny,若两个文件都不存在则只有root能执行at。
-
at -c后面接命令,at now +5 minutes
-
atq:查询主机上的at计划任务。
-
atrm:删除错误的命令。
-
batch:系统不忙时才执行后台命令。当CPU的负载小于0.8时,才执行任务,负载跟任务数有关跟使用率无关,一个任务也可以使用率为100%。
-
uptime:可以查看1分钟,5分钟,15分钟的平均任务负载量(load average)
-
限制使用crontab的用户账户,可以使用配置文件:/etc/cron.allow和/etc/cron.deny
-
当使用crontab命令建立任务之后,任务就会被记录到/var/spool/cron/中,例如user1使用crontab后,它的任务呗记录在/var/spool/cron/user1中
-
cron执行的每一项任务还会被记录到 /var/log/cron这个日志文件中。可以用来查找木马。
-
crontab -e 用户编辑任务,其实是/usr/bin/crontab这个执行文件。
-
系统的例行性任务,编辑/etc/crontab文件即可。它是一个纯文本文件。
-
cron的最低检测限制是分钟,cron会每分钟读取一次/etc/crontab与/var/spool/cron里面的数据内容。
-
crond服务读取配置文件的位置:
/etc/crontab
/etc/cron.d/*
/var/spool/cron/*
-
开发自己的新软件, 想拥有自己的crontab定时命令时,可以将配置文件脚本放置到/etc/cron.d/目录下。
-
除了自己指定分,时,日,月,周,加上命令路径的crond配置文件之外,还可以直接将命令放置到/etc/cron.hourly/目录下,这样该命令就会被crond在每小时的前五分钟的任意一分钟来执行,不需要指定分时日等。
-
个人化操作使用crontab -e,系统维护管理使用vim /etc/crontab,自己开发的软件使用/etc/cron.d/newfile。
-
anacron:唤醒停机期间的工作任务,即超过时间未执行的任务。
-
anacron默认会以一天,七天,一个月为期去检测系统为执行的crontab命令。
-
anacron是一个程序,而不是服务。在centos中会被每小时执行一次,/etc/cron.hourly/里的anacron会在文件名之前加0(0anacron),0是让时间戳更新,防止误判时间。
-
anacron的执行流程,crond与anacron的关系详见书。
鸟哥Linux第十五章-计划任务(crontab)笔记
最新推荐文章于 2023-01-04 23:08:12 发布