极客进化岛
技术自由路

【linux】循序渐进学运维-基础篇-crontab计划任务

文章目录
前言:
crontab定时任务的作用
crontab的参数
crontab 使用举例
1. 每天21:30备份数据
2. 每个月的1,10,22日的5:15重启apache
3. 每天的23点到凌晨2点 这个时间段 每14分钟执行一次 脚本
4 .每月的5日到10日的4:10 重启httpd
5 .每月的5日到10日的每个小时 重启httpd
总结:

前言:

计划任务在公司用的比较多,而且在面试中也经常会问到关于计划任务的问题,尤其是笔试题里面,涉及到计划任务的更多。
在之前的文章中,我们讲了一个一次性的任务叫at , 如果你对at没有印象了,可以点击下方链接进行复习:

【linux】循序渐进学运维-基础篇-at命令

crontab定时任务的作用

crond命令定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作,只要提前写好规则,后期无需人工干预,自动执行。

比如沃恩可以用计划任务更新数据库,做日志切割,定时执行一些任务脚本,比如巡检,收集系统状态等等。

crontab的参数

参数|作用|
|--|--|
u|指定用户
l|列出当前用户下的cron服务的详细内容
r|删除计划任务
e|编辑计划任务

crontab -e 编辑时的语法

cat /etc/crontab
在这里插入图片描述
上图展示的是: 每个*的取值范围,比如第一个星号为分钟, 取值为0-59

从左往右分别为:分时日月周
周的取值为 0-7, 周日用0 或者7 来表示

在crontab 里一行代表一个任务,特殊符号的含义如下:

|特殊符号|作用|举例|

|代表取值范围内的任意数字| * * * 7
/|指定时间的间隔频率|*/10
-|代表从某个时间到某个时间|9-16
,|用逗号隔开指定一个列表范围|1,2,3,8

crontab 使用举例

crontab -e  用来编辑计划任务
contab -l 查看计划任务
1. 每天21:30备份数据
[root@ecs-c13b ~]# crontab -e

[root@ecs-c13b ~]# crontab -l
30 21 * * * tar zcvf /opt/data.tar.gz  /data/*
2. 每个月的1,10,22日的5:15重启apache
[root@ecs-c13b ~]# crontab -l
15 5 1,10.22 * * /etc/init.d/httpd restart
3. 每天的23点到凌晨2点 这个时间段 每14分钟执行一次 脚本
[root@ecs-c13b ~]# crontab -l
*/14 0-2,23 * * * /srv/opstool/rml_third.sh
4 .每月的5日到10日的4:10 重启httpd

10 4 5-10 * * /etc/init.d/httpd restart

5 .每月的5日到10日的每个小时 重启httpd

0 */1 5-10 * * /etc/init.d/httpd restart

总结:

计划任务需要多练习,熟能生巧。

赞(0)
未经允许不得转载:极客进化岛 » 【linux】循序渐进学运维-基础篇-crontab计划任务