自动化运维之计划定时任务(七)

1,116 阅读4分钟

“现实本就不会如你所愿,哪来那么多的如果。”

计划任务

一、计划任务介绍

作为运维人员,经常需要某些脚本、命令在指定的时间段运行、停止。这些操作都可以由系统的计划任务完成的,计划任务又分为“一次性”与“周期性”之分。比如:

  • 一次性计划任务:今晚12:30开启网站服务
  • 周期性计划任务:每周2、4、6将/http/www目录保存备份为backup.tar.gz

二、at 一次性计划任务

1、at介绍

at在centos系统中默认是安装并且随机启动的。

atd管理:

systemctl status|start|stop|restart atd

2、at语法

命令 作用
at [选项] 时间 在指定的时间执行特定的任务
作用 作用
-l 列出系统上所有该用户的任务,也可以使用atq
-d 删除一个任务,也可以使用atrm
时间格式 含义
HH:MM 在这个时间点执行任务
HH:MM YYYY-MM-DD 强制规定在某年某月某日某个时刻执行该任务
HH:MM + n [minutes|hours|days|weeks] 某个时刻的后的某个时间点执行任务

3、案例

# 案例一:再过1分钟后,将任务执行时间写入date.txt 文件
[root@CaiChen ~]# at now + 1minutes
at> date > /root/date.txt
at> <EOT>								   # 输入[ctrl] + d 就出现<EOF>,代表退出at编辑模式
job 2 at Thu Mar 28 12:27:00 2019    # 表示第二个at工作将在这个时间执行

# 案例二:由于机房预计于2019/10/2停电,我想要在2019/10/1 23:00关机
[root@CaiChen ~]# at 23:00 2019-10-1
at> /bin/sync						 # 将内存中尚未存入磁盘中的信息存到磁盘中,保证数据不丢失
at> /bin/sync
at> /sbin/shutdown -h now
at> <EOT>
job 5 at Tue Oct  1 23:00:00 2019

# 查看at任务
[root@CaiChen ~]# at -l            //也可以使用:atq
4	Thu Mar 28 12:35:00 2019 a root
5	Tue Oct  1 23:00:00 2019 a root

# 删除5号任务
[root@CaiChen ~]# at -d 5				 //也可以使用:atrm

三、cron 周期性计划任务

1、cron介绍

​ cron的服务是crond这个系统服务来控制的,可以用来循环执行任务。在linux系统中也是默认开启并且随机启动的服务。

​ cron使用crontab指令建立计划任务之后,该工作就会记录到/var/spool/cron/里面去。而且是以账号作为判别的,比如,CaiChen用户使用crontab后,任务会被记录到/var/spool/cron/CaiChen里面去。但是要注意,不要直接使用vim去编辑这个文件,以为可能由于输入语法错误,导致无法执行crontab任务。

​ 我们执行过的任务记录,会被记录到/var/log/cron这个文档中。也就是cron的日志文件。

2、crontab命令

命令 作用
crontab [选项] 为每个用户维护周期的计划任务
选项 含义
-u username 指定用户管理计划任务,只有root才能使用
-e 编辑crontab任务
-l 查看crontab任务
-r 移除所有crontab的任务,若仅移除一项,使用-e去编辑

3、crontab语法

使用crontab -e进入编辑cron任务模式,编辑的语法是

案例:用root身份在每天1:00给CaiChen用户发一份邮件

 [root@CaiChen html]# crontab -e 
 0 	1 	* 	* 	* 	mail -s "send mail 01:00" CaiChen < /root/.bashrc
#分 时  日   月  周  |--------------------指令(做什么)-----------------|

字段说明:

代表意义 分钟 小时 日期 月份 指令
数字范围 0-59 0-23 1-31 1-12 0-7 要做什么任务

特殊字符说明:

特殊字符 含义
* 代表任何时刻
, 代表分割时段
- 代表时间范围
/n n表示数字,n单位时间间隔

4、案例

案例1: 每周5下午6点右键通知交周报

 [root@CaiChen html]# crontab -e 
 * 18 * * 5  mail haha@CaiChen.cn < /root/zhoubao.txt

案例2:每周2,4,6的凌晨2点30将/root目录打包为rootbackup.tar.gz

 [root@CaiChen html]# crontab -e 
 30 2 * * 2,4,6  /usr/bin/tar -czvf rootbackup.tar.gz /root/
                                 _____           _    _____   _
                              / ____|         (_)  / ____| | |
                             | |        __ _   _  | |      | |__     ___   _ __
                             | |       / _` | | | | |      | '_ \   / _ \ | '_ \
                             | |____  | (_| | | | | |____  | | | | |  __/ | | | |
                              \_____|  \__,_| |_|  \_____| |_| |_|  \___| |_| |_|

好了各位,以上就是这篇文章的全部内容了,能看到这里人啊,都是人才。

如果这个文章写得还不错,觉得「王采臣」我有点东西的话 求点赞👍求关注❤️求分享👥 对耿男我来说真的非常有用!!!

白嫖不好,创作不易,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!

王采臣 | 文 【原创】 如果本篇博客有任何错误,请批评指教,不胜感激 !微信公众号: