配置计划任务
计划任务分为一次性计划任务与长期性计划任务,可以按照如下方式理解;
一次性计划任务:今晚11点30分开启网站服务。
长期性计划任务:每周一的凌晨3点25分把/home/wwwroot目录打包备份为backup.tar.gz。
-----------------------------分割线-----------------------------
一次性计划任务---at
[root@linuxprobe ~]# at 23:30
at > systemctl restart httpd
at > 此处请同时按下Ctrl+d来结束编写计划任务
job 3 at Mon Apr 27 23:30:00 2015
[root@linuxprobe ~]# at -l
3 Mon Apr 27 23:30:00 2016 a root
配置命令:at 时间(将需要执行的命令输入,然后ctrl+d结束编写)
查看命令:at -l
删除命令:atrm 任务序号
-----------------------------分割线-----------------------------
长期性计划任务---crontab服务
[root@linuxprobe ~]# crontab -e//会创建一个文本编辑框,在里面输入命令即可
no crontab for root - using an empty one
crontab: installing new crontab
[root@linuxprobe ~]# crontab -l
25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*//每周一至周五的凌晨1点钟自动清空/tmp目录内的所有文件
创建、编辑命令:crontab -e
查看命令:crontab -l
删除命令:crontab -r
编辑其他用户计划任务:crontab -u 用户名 其他参数(编辑-e、查看-l、删除-r)
要求:
1、计划任务的参数格式“分 时 日 月 星期 命令”
2、如果有些字段没有设置,则需要使用星号(*)占位
3、需要说明的是,除了用逗号(,)来分别表示多个时间段,例如“8,9,12”表示8月、9月和12月。还可以用减号(-)来表示一段连续的时间周期(例如字段“日”的取值为“12-15”,则表示每月的12~15日)。以及用除号(/)表示执行任务的间隔时间(例如“*/2”表示每隔2分钟执行一次任务)。
4、如果在crond服务中需要同时包含多条计划任务的命令语句,应每行仅写一条。
5、在crond服务的计划任务参数中,所有命令一定要用绝对路径的方式来写,如果不知道绝对路径,请用whereis命令进行查询。
6、在crond服务的配置参数中,可以像Shell脚本那样以#号开头写上注释信息,这样在日后回顾这段命令代码时可以快速了解其功能、需求以及编写人员等重要信息。
7、计划任务中的“分”字段必须有数值,绝对不能为空或是*号,而“日”和“星期”字段不能同时使用,否则就会发生冲突。