linux命令学习-crontab命令

crontab命令介绍

上一篇at命令学习了其是一个定时任务,但是只会执行一次,本次要学习的是循环执行例行任务的命令crontab命令。linux命令学习-crontab命令

  1. 与at的命令类似的有一个进程atd去检查并执行at定时任务,crontab也有一个进程对定时任务进行执行crond;
  2. crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
  3. Linux下的任务调度分为两类,系统任务调度和用户任务调度。
    系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。
    用户任务调度:就是我们下面要学习的crontab命令设置定时任务的方法。

crond服务

要想使用crontab命令设置定时任务,需要先启动crond服务

安装crontab:
yum install crontabs
服务操作说明:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
查看crontab服务状态:
service crond status
手动启动crontab服务:
service crond start
查看crontab服务是否已设置为开机启动,执行命令:
ntsysv
加入开机自动启动:
chkconfig –level 35 crond on

命令格式

#基本语法格式
crontab [选项] 文件

#选项可取值
#crontab -e:编辑当前用户的 crontab 文件。默认使用系统定义的文本编辑器。
#crontab -l:列出当前用户的 crontab 文件内容。
#crontab -r:删除当前用户的 crontab 文件。

#文件格式
#文件格式:分钟 小时 日 月 星期 命令 
#时间取值:分钟:0-59 小时:0-23  日:1-31 月:1-12 星期:0-7(0 和 7 都表示星期日
#特殊符号取值:
	*:表示任何时间。
    2,:用于分隔多个值,例如 1,3,5 表示分钟的第 1、3、5 分钟。
    -:表示一个范围,例如 1-5 表示从第 1 分到第 5 分。
    /:表示步长,例如 */5 表示每 5 分钟执行一次。

命令的使用

1、使用crontab -l 查询当前用户是否存在crontab文件,如果不存在,则需要创建一个文件,比如下图
在这里插入图片描述
2、创建一个文件,有两个方法
(1)直接使用crontab -e便可以直接编辑当前用户crontab 文件。
(2)先使用vim mycron. 然后编辑该文件添加定时任务,然后在使用 crontab mycron即可
3、再次使用crontab -l查询当前用户自己的crontab内容,如果存在
4、 然后等待定时任务执行的时刻,检查日志打印输出即可
5、如果需要删除当前用户的crontab,只需要crontab -r,注意线上环境不要轻易使用这个命令

实例展示

比如要实现以下定时任务:

# 1. 在12:00的时候输出当前的时间点到~目录下的text.txt文件中;
# 2. 然后先每分钟都通知要下楼吃饭了;
# 3. 每五分钟通知,再不下楼妈妈就要来打人了;
# 4. 然后在12:30的时候通知吃饭时间结束,并且打印时间
# 这里直接使用crontab编辑当前用户的文件, 步骤如下:
crontab -e
#进入vim开始编辑命令[因为工作日,牛马们会自动起床,所以时间设置6-7,双休日]
# 12:30准时催吃饭
30 12 * * 6-7 date > ~/text.txt
#之后的每一分钟,直到12:59每分钟都催
31-59 12 * * * echo "乖儿子,下楼吃饭啦" >> ~/text.txt
#每隔五分钟,也可以*/5这样写,就进行一次暴力催饭
35,40,45,50,55 12 * * 6-7 echo "赶紧给我下来吃饭" >> ~/text.txt
#到了13:00,饭都凉了,别吃了
0 13 * * 6-7 echo "好了, 你别下楼吃, 看看几点了";date >> ~/text.txt

crontab -l命令查看当前用户的crontab’
在这里插入图片描述
text.txt文件的内容输出如下:

Sun Aug 25 12:30:00 CST 2024
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
赶紧给我下来吃饭
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
赶紧给我下来吃饭
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
赶紧给我下来吃饭
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
赶紧给我下来吃饭
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
赶紧给我下来吃饭
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
乖儿子,下楼吃饭啦
Sun Aug 25 13:00:00 CST 2024

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAO&asuna

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值