Linux中的定时任务调度

crontab定时任务的设置

crontab就是设置定时任务(反复执行),在需要定时执行或检查的程序,工作中经常使用,比如对mysql数据库备份,大多数时候的使用都是配合shell脚本,用crontab定时调用shell脚本来执行

crontab -e编辑crontab定时任务

crontab -l查询crontab任务

crontab -r删除当前用户所有的crontab任务

service crond restart重启任务调度

每小时的每分钟都执行一次ls -l /etc/ > /tmp/to.txt

先crontab -e 再写入*/1 * * * * ls -l /etc/ > /tmp/to.txt(注意星号之间有空格)

 

分钟 -- 小时 -- 天数 -- 月份 -- 星期几

crontab特殊符号的说明

*代表任何时间,比如第一个*就代表一个小时内的每分钟都执行一次

,代表不连续的时间,可以用逗号分隔开,如0 8,12,16 * * * 命令就是指在每天的8点0分,12点0分,16点0分都执行一次命令

-代表连续的时间范围,如0 5 * * 1-6 命令就是每周一到周六的5点0分执行命令

*/n代表每隔多久执行一次,如*/5 * * * * 命令就是每隔5分钟执行一次命令

 

crontab与shell脚本的实用案例

每隔1分钟,将当前日期和日历都追加到/home/mycal中

#首先编写一个shell脚本
vim /home/my.sh
cal>>/home/mycal
date>>/home/mycal
#保存退出,再给shell脚本赋予执行权限
chmod u+x /home/my.sh
crontab -e
*/1 * * * * /home/my.sh

at定时任务

at定时任务是一次性的定时计划任务,只执行一次,at有一个后台程序atd

默认情况下,atd会每60秒检查任务队列,有任务时,会检查任务运行时间,如果时间与at定时任务匹配则执行

在使用at命令时,要保证atd进程的启动,可以使用ps -ef|grep atd检测atd是否运行

同时atp命令可以查看系统中有没有正在执行的at任务

删除at定时任务atrm

atrm 编号先用atp查看编号,再用atrm来删除

at命令格式:

at 选项 时间 在命令写完之后按两次Ctrl+d结束at命令的输入

 

 

在2023.1.5的05:00执行任务

 

在2分钟之后执行任务

 

删除2号任务

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值