linux任务调度

任务调度是什么

一 任务调度是指在系统的某个时间执行特定的命令或者程序。
二 任务调度分类:

  1. 系统任务,有些任务必须周而复始的的执行, 如病毒扫描,定期运行垃圾清理 。
  2. 用户任务, 某些用户可能在特定的时间执行特定的程序, 比如定期发送邮件, 定期备份数据等

综上,任务调度的关键在于如何定时执行程序, linux系统提供crontab命令支持任务调度。

linux crontab命令

1参数
参数含义
-u user指定用户的调度任务
-e编辑任务调度文件
-l列出任务列表
-r删除调度任务
2 如何定时 ?

时间用五个占位符表示,分别为 分钟(0-59)、小时(0-23)、日(1-31)、月(1-12)、星期(0-7,且0、7都表示周日)。
特殊符号

特殊符号含义
*表示任何时间 ,* *1 * *表示每个月的1号执行一次命令
,表示表示不连续的时间,1,3,5 **** 表示每个小时的第1,第3,第5分钟都执行一次程序
-代表连续的时间范围,01**1-3 表示周一到周三的1点0分执行
*/n表示间隔多久执行一次, 比如*/20 * * * * 表示每隔20分钟执行一次
3 定时举例

0 22 *** 命令 : 在22:00 执行命令
0 7 **1 命令 : 每周一的7:00 执行命令
0 17 * * 1,3,5 : 周一,周三,周五17:00执行命令
0 17 1-5 * * 命令: 每月1号到5号17:00执行命令

任务调度任务实例

需求: 每隔2两分钟将当前日期追加到 /home/mydate 文件中

  1. 新建 mytask1.sh程序,执行追加命令 。
  2. 设置修改权限
  3. 任务调度
[root@localhost home]# touch task1.sh 
[root@localhost home]# vim task1.sh 
date >>  /home/mydate.txt
[root@localhost home]# crontab -e
*/2 * * * *  /home/task1.sh

总结:

任务调度过程需要任务所有者对程序拥有执行权限。如果在执行过程中生成文件,那么相当于该用户用户创建文件,故需要改用户对目录有写入权限
crontab 的定时只能精确到分钟,如果需要到秒的定时可以使用Spring定时器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值