Linux 例行性工作(contab)
1.常见例行性工作
日志文件的轮替(log rotate)
日志文件分析logwatch的任务 CentOS提供一个程序“logwatch”来主动分析日志文件
新建locate的数据库:locate查询文件位置,文件名数据库位置/var/lib/mlocate/中,系统主动updatedb
新建whatis数据库
删除临时文件:tmpwatch命令来删除这些临时文件
与网络服务有关的分析行为
2.at命令:仅执行一次的工作调度
2.1 atd的启动与at运行的方式
查看:ps -A | grep atd
开启:/etc/init.d/atd restart
设置开机启动:chkconfig atd on
at的运行方式:
at命令生成索要运行的工作,并将这个工作以文本的方式写入/var/spool/at目录中,等待atd服务来取用和执行
安全控制: 首先检查/etc/at.allow,用户存在则允许执行,若at.allow不存在,查/etc/at.deny用户不存在则允许执行。若两者都不存在,那么只有root可以执行。at.allow管理较为严格
2.2 at命令
at [-mldv] TIME 或者 at -c 工作号码(at后产生一个job号)
-m:at完成后,以email方式通知用户
-l: at -l等价于atq,列出系统上面的所有该用户的at调度
-d: at -d等价于atrm,取消一个在at调度中的工作
-v:用较明显的时间格式列出at调度中的任务列表
-c: 后面接该项工作的实际命令内容
TIME:man一下
batch命令:系统有空时才执行后台任务
2.3循环执行的例行性工作调度 由cron(crond)这个服务来控制
crontab命令建新工作调度 工作记录到/var/spool/cron/中,并一账号作为判别的
cron执行的每一项工作都会被记录到/var/log/cron中
命令:crontab [-u username] [-l|-e|-r]
-u:只有root用户才能执行这个任务,也即帮其他用户创建/删除crontab工作调度
-e:编辑crontab的工作内容
-l: 查阅crontab的工作内容
-r: 删除所有的crontab的工作内容,若仅要删除一项用-e
代表意义 | 分钟 | 小时 | 日期 | 月份 | 周 | 命令 |
数字范围 | 0~59 | 0~23 | 1~31 | 1~12 | 0~7 | 命令 |
周与月、日不可共存
特殊字符意义:
*:任何时刻都接受
,:分隔时段的意思
-:代表一段时间范围,如2点到5点之间每小时的10分钟工作:10 2-5 * * * command
/n:每隔n个单位进行一次
3.系统配置文件 /etc/crontab
crontab -e针对用户cron来设计,是/usr/bin/crontab这个执行文件
系统的例行任务,编辑/etc/crontab这个文件,编译完要重启crond服务:/etc/init.d/crond rstart
4.可唤醒停机期间的工作任务 anacron工具
anacron不能指定何时执行某项任务,而是以天为单位或者在开机后立刻进行anacron操作
anacron其实也是通过crontab来运行的,因此anacron运行的时间通常有2个:一个是系统开机期间运行,一个是写入crontab的调度中
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。