Linux-定时任务调度详解

Linux实操篇——定时任务调度

crond任务调度

Linux有一个叫crond后台程序,它可以定时调度我们设置的任务。
在这里插入图片描述

使用crontab -e

通过crontab这个指令来进行定时任务的设置
在这里插入图片描述
在这里插入图片描述
执行方式:
命令行输入crontab -e
编写调度指令,保存退出即可自动执行。

其他特殊符号:
在这里插入图片描述
时间实例:
在这里插入图片描述
我们讲定时调用的两种情况:
1.使用crontab -e,在里面编写命令,即可自动执行
2.使用shell脚本,然后在crontab -e定时执行脚本

使用shell脚本

1.编写shell脚本
vim my.sh
date >> /home/mycal

2.查看脚本权限
在这里插入图片描述
发现,my.sh没有x权限,也就是没有执行权限,所以我们要修改权限

3.修改shell脚本权限
在这里插入图片描述
4.执行shell脚本
在这里插入图片描述

但是这样是不行的,因为mycal的内容不会改变,每次执行一次shell,它会更新一次,所以我们要定时执行shell脚本,一定要注意权限,是谁有执行权限。

5.使用crontab -e调用shell脚本

在这里插入图片描述
在这里插入图片描述

定时更新mysql数据库

步骤:
1.crontab -e
2.0 2 * * * musqldump -u root -p[key] testdb > /home/db.bak

crontab的相关指令

在这里插入图片描述

at定时任务

crontab是重复性的定时任务,但有时候我希望在定时任务只执行一次,这时候就需要使用at
在这里插入图片描述
ps -ef是显示当前所有正在运行的进程
使用 过滤指令 grep atd 查看名称为atd的进程
如果有叫atd的进程,就说明后台atd在运行

原理图:
在这里插入图片描述

at命令选项:
在这里插入图片描述
at时间定义:
在这里插入图片描述

at定时任务案例

注意,在at时间里如果输入错了,按ctrl+回退键删除

2天后的下午5点执行/bin/ls /home

在这里插入图片描述

atq命令来查看系统中没有执行的工作任务

在这里插入图片描述

明天17点钟,输出时间到指定文件内 比如 /root/date100.log

在这里插入图片描述

2分钟后,输出时间到指定文件内 比如:/root/date200.log

在这里插入图片描述
在这里插入图片描述

删除已经设置的任务,atrm编号

在这里插入图片描述

也可以执行shell脚本

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

橙子砰砰枪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值