atd的启动与at运作的方式
at:可以处理仅执行一次就结束的指令。
crontab:这个指令所1设定的工作将会循环的一直进行下去。
systemctl restart atd 重新启动atd服务
systemctl enable atd 让atd服务开机就自动启动
systemctl status atd 查阅atd目前状态(enabled running表示启动)
at的运作方式
使用at指令来产生所要运作的工作,并将这个工作以文本文件方式写入/var/spool/at/目录内,该工就能等待atd服务的取用与执行了
利用/etc/at.allow和/etc/at.deny对at进行限制
1.先找寻/ect/at.allow,写在这个文件中的使用者才能使用at,没有在这个文件中的使用者则不能使用at(即使没有卸载at.deny当中)
2.如果/etc/at.allow不存在,就寻找/ect/at.deny文件,若写在这个at.deny的使用者不能使用at,没有在这个at.deny文件中的使用者,就可以使用at
3.两个文件都不存在,只要root可以使用at
at指令
at [-mldv] TIME
at -c 工作号码
atq:查询与多少at工作
atrm jobnumber:删除错误指令,例如 atrm 3
batch:系统有空时才进行背景任务
在cpu的工作负载小于0.8的时候,才进行所下达的工作任务
循环执行的例行性工作排程
循环执行的例行性工作排程是由cron(crond)这个系统服务来控制的。
使用者设定
1./etc/cron.allow,将可以使用crontab的账号写入其中,若不在这个文件内的使用者则不可使用crontab
2./etc/cron.deny,将不可以使用crontab的账号写入其中,若为记录到这个文件当中的使用者,就可以使用crontab。
两个文件选择一个限制即可,系统默认保留deny。
当用户使用crontab这个指令建立工作排程后,该项果汁就会被记录到/var/spool/cron/里面去,而且以账号作为判别。
下达crontab -e后出现的六 个字段
删除crontab工作
1.crontab -e将编辑的工作内容删除即可(使用者的cron)
2.crontab -r会将工作全部移除
系统的配置文件:/etc/crontab /etc/cron.d/*
系统的例行性任务的修改只需要编辑/etc/crontab(纯文本档)文件,crontab-e的crontab是/usr/bin/crontab。
cron这个服务的最低侦测限制是分钟,cron会每分钟去读取移除/etc/crontab与/var/spool/cron里面的数据内容。
crond服务读取配置文件的位置
crond预设有三个地方会有执行脚本配置文件:/etc/crontab,/etc/cron.d/*,/var/spool/cron/*
个人化行为使用crontab -e
系统维护管理使用vim /etc/crontab
自己开发软件使用vim /etc/cron.d/newfile
固定每小时、每日、每周、每天执行的特别工作:与系统维护有个就放/etc/crontab,也可在其他几个目录直接写入指令。
资源分配不均问题:将没五分钟工作的流程分别在不同的时刻来工作。
取消不要的输出项目:当有执行成果或者是执行的项目中有输出的数据时,该数据将会mail给MAIL TO设定的账号,如果一直出错,可以以数据流重导向将输出结果输出到/dev/null垃圾桶中。
安全的校验:防止植入木马,所有可以检查/var/log/cron的内容是否有非自己设定的cron被执行了
周与日月不可同时并存:可以分别周或者日月为单位循环,但周与日月不可以并存。
可唤醒停机期间的工作任务:anacron
anacron目的:处理非24小时一直启动的Linux系统的crontab的执行,以及因为某些原因导致的超过时间而没有被执行的排程功能故障。
anacron每小时被crond执行一次,anacron再去检测相关的排程任务有没有被执行,如果有超期的工作,就执行该排程任务,执行完毕,anacron停止。
anacron
配置文件在/etc/cron.hourly,/etc/anacrontab