Linux 下计划任务

一次性计划任务

at命令管理计划任务

at timespec 创建计划任务,交互式输入,ctrl+d结束
at timespec < myscript 从脚本中输入任务
at -l 列出计划任务
at -c jobnum 查看计划任务详细信息
at -d jobnum 删除计划任务

at计划任务的原理:

at不是计划任务,只是一次性计划任务atd的管理工具

atd是一次性计划任务的真正执行者,at只是一个管理atd的工具

会在/var/spool/at下生成一个脚本文件,执行计划任务,实际上就是执行/var/spool/at下的一个脚本

at对于超时的任务,会在atd服务启动后立即执行

timespec 举例

  • 8:05am

  • 4pm +3days

  • 04:00 2017-05-30

  • teatime tomorrow

  • 详情查看/etc/share/doc/at/timespec

atq

#列出计划任务,相当于at -l 
[root@localhost ~]# atq
1       Fri Dec 30 11:30:00 2022 a root
2       Fri Dec 30 11:30:00 2022 a root
3       Fri Dec 30 11:30:00 2022 a root
  • 第一列:任务的编号

  • 第二列:计划任务的执行时间和日期

  • 第三列:计划任务被排入默认队列a,-q指定队列a-z,从a到z优先级是从高到低,a的nice是2z到19

  • 字母越大,优先级越低

  • 队列的优先级在系统资源匮乏的时候可以判定哪个任务先执行

  • 第四列: 任务的优先级

周期性计划任务

crontab命令管理周期性计划任务

crontab不是周期性计划任务,周期性计划任务由crond服务进行管理

crontab -e 创建计划任务 
​
crontab -l 查看计划任务
​
crontab -r 删除所有计划任务
​
crontab -u 指定用户给计划任务

计划任务时间格式

*   *   *  * * 任务 时间格式 (匹配的具体的时间点)
​
分钟 小时 日 月 星期 分时日月周
​
01  12  *  * *   每天的12点01分执行计划     
​
01-15 12  *  * *   每天的12:01至12:15分中间每分钟执行一次
​
*/5  10,11 *  * *   每天的10点11点每隔五分钟执行一次
​
布置计划可能要写命令的绝对路径
​
如果命令多 在脚本中写命令的路径

计划任务相关文件

  1. 计划任务是否执行成功 看日志

  • 路径在/var/log/cron

  1. /etc/crontab 系统的计划任务 系统全局计划 没有用户之分

  2. /etc/cron.d 系统的计划任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值