linux 计划任务

1.atd服务启动

[root@192 ~]# systemctl restart atd   #启动atd服务

[root@192 ~]# systemctl enable atd   #开机自启动atd服务

[root@192 ~]# systemctl status atd    #查询atd服务状态

需要看到绿色的enable 和 running才算正式启动

2.单一计划任务 at命令

at 【-mldv】 TIME

at   -c  任务号码

-m:当任务完成时即使不输出也会发邮件提醒

-l:相当去atq,列出所有at计划

-d:相对于atrm,取消一个at计划任务

-v:用明显时间格式列出at计划

-c:列出实际命令内容

TIME:什么时候执行at命令

HH:MM 在今天的HHMM执行,如超过则明天的HHMM执行

HH:MM YYYY-MM-DD 固定的时间日期

HH:MM【am|pm】 【month】 【Date】 同上

HH:MM【am|pm】+number[minutes|hours|days|weeks]

在某时间点的后 number个时间执行 现在为now,单位后的s不要忘记。

例子:5分钟后将打出一段字符

[root@192 ~]# at now + 1 minutes

at> echo 1 minute pass

at> <EOT>

job 1 at Sun Jun 19 04:16:00 2022

在新的一行,ctrl+d结束命令输入,at可以同时可以输入多道命令。使用绝对路径来输入命令。

命令执行与终端无关,所有标准输出都会发送道mailbox,可以通过终端设备来解决这个问题,如

echo hello > /dev/zxb

使用at命令可以转为后台命令,不会被死机等问题中断

atq:查询at命令与编号

atrm x:删除x号at命令

batch:系统有空时执行后台命令,用法与at相同。

2.循环的计划任务 crontab

配置文件

/etc/cron.allow/ 只有在此文件中的用户才能使用crontab

/etc/cron.deny/ 在此文件中的用户不能使用crontab

allow文件优先高于deny,保留一个即可

crontab 【-u username】 [-l|-e|-r]

-u:只有root能执行这个任务,帮其他使用者建立/删除crontab命令

-e:编辑crontab命令,也可以删除一个crontab命令

-l:查看crontab命令

-r:删除所有crontab命令

例子:每天在12:00发信给自己

[root@192 ~]# crontab -e

#输入之后会进入一个如vim的文档

0 12 * * * mail -s testword root </home/root/.bashrc

#前五个数字为 分 时 日 月 周 后为命令串

时间有一些特殊字符

*代表任意时间

,时间分割,如3,6为第3和第6个时间点,这两个时间点都可以执行

-时间区间

/n 每个n个时间节点执行一次

3.执行未执行但到了或过了计划时间的任务 anacron

配置文件 /etc/anacrontab

SHELL=/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

# the maximal random delay added to the base delay of the jobs

RANDOM_DELAY=45

# 最大延迟时间,单位为分钟

START_HOURS_RANGE=3-22

#延迟多少小时内应执行任务时间

1       5       cron.daily              nice run-parts /etc/cron.daily

7       25      cron.weekly             nice run-parts /etc/cron.weekly

@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly#

#天数 延迟时间 工作名称定义 实际要执行的命令串

#延迟时间单位为分钟

天数:acacron与执行当前时间戳相差的天数,超过此天数准备执行任务

延迟时间:如要执行延迟任务,会有一个延迟时间以防止资源冲突

工作名称定义:名称

acacron 命令

acacron 【-sfn】 【job】

acacron 【-u】 【job】

-s:开始连续执行各项任务

-f:强制执行

-n:立刻执行未执行的任务

-u:仅更新时间戳而不执行任务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值