crond 任务调度

在一些时候我们需要进行定时任务,这时候就用到了crond了。

1、基本语法

crontab [选项]
- e : 编辑定时任务
- l : 查询定时任务
- r : 删除当前用户的所有crontab任务

2、参数说明

以下面定时任务为例:

*/1 * * * * ls –l/etc/ > /tmp/to.txt

项目含义范围
第一个 *一个小平中的第几分钟0-59
第二个 *一天中的第几个小时0-23
第三个 *一个月中的第几天1-31
第四个 *一年中的地几个月1-12
第五个 *一周当中的星期几0-7 (0和7都代表星期天)

特殊符号

特殊符号含义
*代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一 次的意思。
代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天 的8点0分,12点0分,16点0分都执行一次命令
-代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周 六的凌晨5点0分执行命令
*/n代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔 10分钟就执行一遍命令

举例说明

时间含义
45 22 * * * 命令在22点45分执行命令
0 17 * * 1 命令每周1 的17点0分执行命令
0 5 1,15 * * 命令每月1号和15号的凌晨5点0分执行命令
40 4 * * 1-5命令每周一到周五的凌晨4点40分执行命令
*/10 4 * * * 命令每天的凌晨4点,每隔10分钟执行一次命令

3、实际案例

案例1:每隔1分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
方式一:执行 crontab –e 命令。输入定时任务:*/1 * * * * date >> /tmp/mydate,保存退出即执行了。可以用crontab -l查看执行的定时任务

方式一只适合简单的定时任务,复杂的定时任务需要使用方式二

方式二:

  1. 先编写一个文件 /home/mytask1.sh
    date >> /tmp/mydate
    
  2. 给mytask1.sh 一个可以执行权限
  3. 编写定时任务crontab -e
    */1 * * * * /home/mytask1.sh
    
  4. 保存即执行该任务

案例2:每天凌晨 2:00 将mysql 数据库 testdb ,备份到文件中 mydb.bak。

  1. 编写一个文件/home/mytask2.sh
    mysqldump -u root -proot testdb > /tmp/mydb.bak
    
  2. 给mytask2.sh一个执行权限
  3. 编写定时任务crontab -e
    0 2 * * * /home/mytask3.sh
    
  4. 保存退出即执行该定时任务(crontab -e里面可以编辑多个定时任务)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

b u g

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

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

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

打赏作者

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

抵扣说明:

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

余额充值