Linux学习笔记:定时任务调度

crond任务调度(周期自动执行脚本或命令)

基本操作

  • crond是服务名称
service crond start   #启动服务
service crond stop    #关闭服务
service crond restart #重启服务
service crond reload  #重载配置
service crond status  #查看状态
  • crontab是计划任务表
crontab -u root -e #编辑crontab内的信息,可省略指定用户,默认当前用户
crontab -l         #查看crontab内的信息
crontab -ir        #删除crontab内的信息,i表示显示提示信息

系统的任务调度文件位置:/etc/crontab


编辑格式

格式如下(每个字段用空格隔开):
分钟(0到59) 小时(0到23) 天(1到31) 月(1到12) 周(0到6) 命令(注意指令权限问题)

时间设定段,可以含如下特殊字符:

1、星号(*):范围内所有值;

2、逗号(,):指定一个列表范围,如:“1,2,5”;

3、中杠(-):表示一个整数范围,如:“3-5”表示“3,4,5”;

4、斜杠(/):指定间隔频率,如:“0-23/2”表示每两小时执行一次,“*/10”如果用在分钟字段,表示每十分钟执行一次。


应用实例

#例子1:编写shell脚本(适用多条指令)
vim /home/my.sh
#增加以下指令
date >> /home/mycal
cal  >> /home/mycal
#命令行模式:wq,保存退出
chmod u+x /home/my.sh
crontab -e 
*/1 * * * * /home/my.sh #每隔分钟执行一次
#保存退出就运行了

#例子2:(适用单一指令)
crontab -e 
0 2 * * * mysqldump -u root -ppassword testdb > /home/db.bak #每天2:00执行一次
#保存退出就运行了

at任务调度(定时自动执行脚本或命令)

基本操作

  • at 的守护进程 atd 会以后台模式运行,60s检查一次作业队列。如果当前时间有满足条件的命令,此刻运行并从列表消除。
  • 使用 at 时,要确保 atd 进程启用
ps -ef | grep atd   #检测atd是否运行
  • at命令选项
at 选项 时间    #基本格式,结束输入双击 CTRL+D 
at -m           #当定时任务被完成后,将给用户发送邮件,即使没有标准输出
at -I           #atq的别名,查看任务列表
at -d           #atrm的别名,删除还未执行的任务
at -v           #显示任务将被执行的时间
at -c           #打印任务的内容到标准输出
at -V           #显示版本信息

at -q 队列      #使用指定队列
at -f 文件      #从指定文件读入任务而不是从标准输入读入
at -t 时间参数  #以时间参数的形式提交要运行的任务
atq             #查看任务列表
atrm  编号      #删除还未执行的任务

编辑格式

常用格式如下:

模糊配置:midnight,noon,teatime ,today,tomorrow

12小时制:2am,4pm

具体时间:04:00 2021-10-30

相对计时:now + 5 minutes,now + 5 hours,5pm + 5 days,2am + 5 weeks


应用实例

ps -ef | grep atd   #检测atd是否运行

at 5pm + 2 days 
at 5pm tomorrow
at now + 2 minutes
#结束输入双击 CTRL+D,增加job 1,job 2,job 3

atq                 #查看任务列表
atrm  2             #删除job 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值