计划任务服务程序

[TOC]

计划任务服务程序

计划任务分为以下两种

  • 一次性计划任务:今晚11点30分开启网站
  • 长期性计划任务:每周一的凌晨3点25分把/home/wwwroot目录打包备份为backup.tar.gz

1 一次性计划任务

命令

  • at 时间 :设置在特定时间只执行一次的任务,一般用来满足临时的工作需求
  • at -l:查看已设置好。但还未执行的一次性计划任务
  • atrm 任务序号:删除某个一次性计划任务

示例:在今晚23:30分自动重启

[root@study sh_folder]# at 23:30
at> systemctl restart httpd
at>  #此处按下 Ctrl+d 来结束编写计划任务
job 2 at Thu Dec 13 23:30:00 2018
[root@study sh_folder]# at -l
2   Thu Dec 13 23:30:00 2018 a root

示例:非交互式创建一次性计划任务

[root@study sh_folder]# echo "systemctl restart httpd" | at 23:30
job 3 at Thu Dec 13 23:30:00 2018
[root@study sh_folder]# at -l
3   Thu Dec 13 23:30:00 2018 a root
2   Thu Dec 13 23:30:00 2018 a root 

示例:删除一次性计划任务

[root@study sh_folder]# atrm 2
[root@study sh_folder]# at -l
3   Thu Dec 13 23:30:00 2018 a root

2 周期性计划任务

crontab 命令参数

  • -e:创建、编辑计划任务
  • -l:查看当前计划任务
  • -r:删除某条计划任务
  • -u:如果是管理员,可以他人计划任务

2.1 使用 crond 设置任务参数字段

使用 crond 服务设置任务的参数格式:分、时、日、月、星期 命令

使用crond设置任务的参数字段说明

  • 分钟:取值 0~59 整数
  • 小时:取值 0~23 任意整数
  • 日期:取值 1~31 任意整数
  • 月份:取值 1~12 任意整数
  • 星期:取值 0~7 任意整数,其中 0 与 7 均为星期日
  • 命令:要执行的命令或程序

示例:每周一、三、五的凌晨3点25分,都需要使用 tar 命令把某个网站的数据目录进行打包处理,使其作为一个备份文件

[root@study sh_folder]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@study sh_folder]# crontab -l
25 3 * * 1,3,5 /usr/bin/tar -czvf backup.taar.gz /home/wwwroot

参数的进一步说明

  • 逗号 , :分别表示多个时间段(如"8,9,12",表示8月、9月和12月)
  • 减号 - :表示一段连续时间周期(如字段"日"取值为"12-15",表示每月的12~15日)
  • 除号 / :表示执行任务的间隔时间(如"*/2" 表示每隔两分钟执行一次程序)

示例:每周一至周五的凌晨1点钟自动清空 /tmp 目录内的所有文件

注意

  • crontab服务的计划任务参数中,所有命令一定要用绝对路径的方式来写,绝对路径可以使用 whereis 命令进行查询
  • crond在内的很多服务默认调用的是Vim编辑器,crond可以使用 # 号开头上写上注释信息
  • 计划任务中 "" 字段必须要有数值,绝对不能为空或是*号
[root@study sh_folder]# whereis rm
rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz
[root@study sh_folder]# crontab -e
crontab: installing new crontab
[root@study sh_folder]# crontab -l
# 每周一、三、五的凌晨3点25分,都需要使用 tar 命令把某个网站的数据目录进行打包处理,使其作为一个备份文件
25 3 * * 1,3,5 /usr/bin/tar -czvf backup.taar.gz /home/wwwroot

# 每周一至周五的凌晨1点钟自动清空 /tmp 目录内的所有文件
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*

你可能感兴趣的:(计划任务服务程序)