【linux基础】定时任务调度

一、crond

1、基本介绍

1、任务调度:指定系统在某个时间执行的特定的命令或程序;
任务调度分类:
1)系统工作:有些重要的工作必须周而复始地执行,如病毒扫描等;
2)个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份

2、基本语法

1、crontab [选项]
常用选项:
在这里插入图片描述
2、快速入门
(1)设置任务调度文件:/etc/crontab
设置个人任务调度:执行crontab -e命令
接着输入任务到调度文件
比如:*/1 * * * * ls -l /etc/ > /tmp/to.txt
意思是说每小时的每分钟执行ls -l /etc/ > /tmp/to.txt命令
(2)参数细节说明
在这里插入图片描述

crontab -e
# 输入
*/1 * * * * ls -l /etc/ > /tmp/to.txt
# wq退出
# 看文件是否生成
cd /tmp
ls
cat to.txt

(3)特殊符号的说明
在这里插入图片描述
(4)特殊时间执行任务案例
在这里插入图片描述
(5)应用实例

  • 案例1:每隔1分钟,就将当前的日期信息,追加到/tmp/mydate文件中
*/1 * * * * date > /tmp/mydate
  • 案例2:每隔1分钟,将当前日期和日历都追加到/home/mycal文件中
# 先将脚本写好
cd /home
vim my.sh
date >> /home/mycal
cal >> /home/mycal
# 调用这个脚本
crontab -e
# 追加
*/1 * * * * /home/my.sh
  • 案例3:每天凌晨2:00将mysql数据库testdb,备份到文件中,提示:指令为 mysqldump -u root -p 密码 数据库 >> /home/db.bak
crontab -e
0 2 * * * mysqldump -u root -p 密码 数据库 >> /home/db.bak

(6)crond相关指令
crontab -r:终止任务调度
crontab -l:列出当前有哪些任务调度
service crond restart:重启任务调度

二、at

1、基本介绍

1、at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行;
2、默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业;
3、at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了;
4、在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看;

  • ps -ef:检测当前正在运行的指令
  • ps -ef | grep atd:可以检测atd是否在运行

2、at命令格式

1、at [选项] [时间]
ctrl+d 结束at命令的输入
2、at命令选项:
在这里插入图片描述3、at时间定义:
在这里插入图片描述

3、案例

  • 案例1:2天后下午5点执行/bin/ls /home
# input
at 5pm + 2 days
# 输入指令
at > /bin/ls /home
# 输入2次ctrl+d结束
  • 案例2:atq命令来查看系统中有没有执行的工作任务
  • 案例3:明天17点钟,输出时间到指定文件内,比如/root/date100.log
at 5pm tomorrow
at> date > /root/date100.log
  • 案例4:2分钟后输出时间到指定文件内,比如/root/date200.log
at now + 2 minutes
at > date > /root/date200.log
  • 案例5:删除已经设置的任务,artm 编号
# 删除5号任务
atrm 5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值