计划任务服务程序
无需人为介入的情况下,在指定的时间段自动启用或停止某些服务或命令,从而实现运维的自动化
分类
- 一次性计划任务:今晚11点30分开启网站服务
at 时间 #即可设置任务,默认采用的是交互式方法
at -l #查看已设置好但还未执行的一次性计划任务
atrm 任务序号 #删除计划任务
echo "systemctl restart httpd" | at 23:00
atrm 3
- 周期性计划任务:每周一的凌晨3点打包备份
crontab -e #编辑计划任务
crontab -l #查看当前计划任务
crontab -r #删除某条计划任务
crontab -u #管理员的身份登录系统,编辑他人的计划任务。
使用crond设置任务的参数字段说明
字段 说明
分钟 取值为0~59的整数
小时 取值为0~23的任意整数
日期 取值为1~31的任意整数
月份 取值为1~12的任意整数
星期 取值为0~7的任意整数,其中0与7均为星期日
命令 要执行的命令或程序脚本
PS1:除了用逗号(,)来分别表示多个时间段,例如“8,9,12”表示8月、9月和12月。还可以用减号(-)来表示一段连续的时间周期(例如字段“日”的取值为“12-15”,则表示每月的12~15日)。以及用除号(/)表示执行任务的间隔时间(例如“*/2”表示每隔2分钟执行一次任务)。
PS2:如果在crond服务中需要同时包含多条计划任务的命令语句,应每行仅写一条。例如再添加一条计划任务,它的功能是每周一至周五的凌晨1点钟自动清空/tmp目录内的所有文件。尤其需要注意的是,在crond服务的计划任务参数中,所有命令一定要用绝对路径的方式来写,如果不知道绝对路径,请用whereis命令进行查询,
rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz /usr/share/man/man1p/rm.1p.gz
PS3:在crond服务的配置参数中,可以像Shell脚本那样以#号开头写上注释信息,这样在日后回顾这段命令代码时可以快速了解其功能、需求以及编写人员等重要信息。
PS4:计划任务中的“分”字段必须有数值,绝对不能为空或是*号,而“日”和“星期”字段不能同时使用,否则就会发生冲突。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。