Linux基础——任务调度

任务调度:指系统在某个特定时间执行特定的命令或程序

crond任务调度会反复执行那个任务,at定时任务只执行一次。

一、crond任务调度

crontab命令:

1、基本语法:crontab 选项

2、常用选项:

-e:编辑crontab定时任务

-r:删除当前用户所有crontab任务

-l:查看所有crontab任务

 3、编写任务的格式:* * * * * +执行的任务

        5个占位符的含义:

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

        特殊符号含义:

特殊符号含义
*表示任何时间,比如* 1 * * *表示每天1点的每一分钟都执行一次
表示不连续的时间,比如0 8,12 * * *表示每天8点0分,12点0分都执行一次
-表示连续的时间范围,比如0 8 * * 1-5表示每周一到周五8点0分都执行一次
*/n(n是一个数字)表示每隔多久执行一次,比如*/5 * * * *表示每隔5分钟就执行一次

4、重启任务调度:service crond restart

二、at定时任务

at的守护进程atd会以后台模式执行,每隔60秒检查作业队列的运行,执行完任务后就不执行这个任务了。

1、ps -ef指令

ps -ef指令可以查看当前所有运行的程序,若要查看atd是否在运行,可以使用ps -ef | grep atd指令来实现。atq命令可以用来查看系统中没有执行的工作任务。

2、at指令

1、格式:at [选项] [时间]:在指定的时间执行指定的任务

2、Ctrl+D可以结束at指令的输入

3、常用选项:

  • -m:当指定任务被执行后,将向用户发送邮件
  • -I:atq的别名
  • -d:adrm的别名
  • -v:查看任务将被执行的时间
  • -c:打印任务的内容到标准输出
  • -V:显示版本信息
  • -q+队列:使用指定的队列
  • -f+文件:从指定文件读取任务而不是从标准输入读入
  • -t+时间参数:以时间参数的形式提交要运行的任务
  • at指定时间的方法:
  1. 小时:分钟形式的指定,如果该时间已过去则放在第二天执行
  2. 使用midnight,noon,teatime等比较模糊的词语来指定时间
  3. 使用12小时制,用am,pm来表示上下午,如8pm
  4. 指定具体日期,月 日月 日 年日 月 年,指定日期必须跟在指定时间后面
  5. 使用相对计时法,now+count time-units,time-units是时间单位,可以是minutes,hours,days,weeks。count是时间的数量,now是当前时间,也可以使用其它时间代替。
  6. 直接使用today,tomorrow来指定

3、atrm指令

atrm+任务编号可以删除已有的任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值