当前位置 : 主页 > 编程语言 > 其它开发 >

Linux定时任务调度

来源:互联网 收集:自由互联 发布时间:2022-07-12
主要总结Linux crontab和at两种定时任务调度 任务调度概述 任务调度 是指系统在某个时间执行特定的命令或程序,任务调度主要有两种,第一种是系统工作,需要周而复始的执行,比如病
主要总结Linux crontab和at两种定时任务调度 任务调度 概述

任务调度是指系统在某个时间执行特定的命令或程序,任务调度主要有两种,第一种是系统工作,需要周而复始的执行,比如病毒扫描。第二种是个人用户工作,用户需要在某个特定的事件执行某些程序,比如备份数据库。

Linux 中使用 corntabat 进行定时任务的设置

crond定时任务 基本语法
//编辑crontab定时任务
crontab -e
//查看当前crontab定时任务
crontab -l
//删除当前用户所有的crontab任务
crontab -r
定时执行指令任务
//首先执行
crontab -e //进入任务编辑
//然后输入要执行的任务
*/1 * * * * /etc/ > /tmp/list.txt

五个占位符的说明

项目 含义 范围 第一个 分钟 0~59 第二个 时钟 0~23 第三个 一个月的第几天 1~31 第四个 一年中的低级月 1~12 第五个 星期几 0~7

关于特殊符号说明

符号 含义 * 范围内的任何值 , 不连续时间 - 连续时间 */n 没间隔n个单位时间 定时执行脚本或程序
  1. 首先使用vim编辑器写一个脚本文件,如下
vim /home/my.sh
//写入如下简单示例指令
*/1 * * * * date >> /tmp/mydate.txt

示例给出的是一个简单的指令,我们也可以写更复杂的shell脚本或Java程序
2. 然后需要给当前用户增加my.sh的执行权限

chmod u+x /home/my.sh
  1. 最后向crontab中写入执行shell的指令
crontab -e
*/1 * * * * /home/my.sh
at定时任务

at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来允许,默认情况下atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果与当前时间匹配就会运行次作业。

注意:at命令在使用时,一定要保证atd进程的启动,可以使用指令 ps-ef | grep atd 来检测atd是否在运行。

at命令格式

at [选项] [时间]
输入两次 Ctrl+D 来结束at任务的输入

at命令选项 选项 含义 -I 等同于atq,显示当前at任务队列 -d 等同于atrm,后跟一个数组表示删除队列中的第几个at任务 -q <队列> 使用指定队列 -f <文件> 从指定文件读入任务 at指定时间
  • 使用hh:mm指定
  • 采用12小时制+AM/PM 指定
  • 使用hh:mm 年-月-日指定
  • 相对计时,比如now + 5 hours(minutes/days/weeks)

学习总结来源于韩顺平老师一周学会Linux

上一篇:.NET GC工作流程
下一篇:没有了
网友评论