系统相关
首页 > 系统相关> > 【linux】循序渐进学运维-基础篇-crontab计划任务

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

作者:互联网

大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第58篇文章。

文章目录


前言:

计划任务在公司用的比较多,而且在面试中也经常会问到关于计划任务的问题,尤其是笔试题里面,涉及到计划任务的更多。
在之前的文章中,我们讲了一个一次性的任务叫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 -l30 21 * * * tar zcvf /opt/data.tar.gz  /data/*

2. 每个月的1,10,22日的5:15重启apache
[root@ecs-c13b ~]# crontab -l15 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

总结:

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

我是高胜寒,一个在教培行业不忘初心的人,欢迎留言与我交流。

标签:学运,10,重启,crontab,任务,计划,linux,日到
来源: https://blog.51cto.com/xinsz08/2706271