Linux一次性计划任务和周期计划任务

本文介绍了Linux系统中的at命令用于一次性计划任务,如设置未来某时执行特定命令,以及crond服务实现周期性任务,包括查看、编辑和管理计划任务,同时提及了如何通过系统日志检查任务执行情况和iptables规则的恢复。
摘要由CSDN通过智能技术生成

Linux一次性计划任务和周期计划任务

一次性计划任务 at

一次性计划任务可以理解成在未来某个时间节点,执行某个命令

他的服务名称是atd服务
在这里插入图片描述
启动服务

systemctl start atd.service

在这里插入图片描述
这个东西就相当于倒计时

at now +1 min      #在一分钟后执行某个命令
at now +1 min   #回车
echo "i love linux" > /tmp/message
at now +1 min  #回车
 iptables-restore < 防火墙的配置 

如果说我想在16:27的一个小时候执行pwd命令
at 16:27 +1 hour
pwd
在这里插入图片描述
这个后面可以跟多个命令写完之后想退出怎么办

那就输入CTRL+d就能退出并创建好我们 的一次性任务计划
我们使用at -l 来查看一下我们的计划任务
在这里插入图片描述
我们可以看到他的id是2那看一下计划里有什么内容at -c 2

在这里插入图片描述
这个任务暂时不需要了那我们取消吧at -r 2
在这里插入图片描述
我们可以看到以及没有计划了

一次性计划也可以设置详细的时间点比如:

at 8:00 2100-01-01 #在未来的这个时间执行

如果说未设置了13.00进行从其那么我14.00才对点脑开机会怎么样呢?

如果设定的时间处于关机等状态无法执行计划任务那么开机就会立即执行

查看计划任务列表at -l
查看计划任务内容at -c 计划任务的id
删除计划任务at -r 计划任务的id

周期性计划任务

周期性计划任务就是每隔多长时间就要执行某个命令

周期性计划任务的服务是crond服务
在这里插入图片描述

启动服务

systemctl start crond.service
在这里插入图片描述

crond服务的配置文件是在/etc/crontab里存储着
在这里插入图片描述

它分为7个字段分 时 日 月 周 用户 执行命令

在这里插入图片描述

如果有多个时间可以用,分割列如

12月份的第七天第八天的

0 0 7,8 12 * root pwd>/tmp/1.txt
在这里插入图片描述
全为*号代表每天每秒钟都执行
在执行命令中需要加绝对路径 怎么查看文件的路径whereis 加文件名
如果出现错误会发送邮件给我们里面会告诉我们怎么做
这个邮件的位置是在var下的spool下的mail目录下
tail /var/spool/mail/root查看邮件

如何看计划是否执行

可以查看系统日志来确定是否执行了命令
cron的系统日志在/var/log/cron文件里
在这里插入图片描述

编辑计划任务

无需打开配置文件可直接编辑计划任务

crontab -e
在这里插入图片描述

需要6个字段

分 时 日 月 周 执行命令
在这里插入图片描述

在这里插入图片描述

这边没有用户因为系统是认为谁编辑了此文件就以谁的身份执行

查看计划任务列表

crontab -l
在这里插入图片描述

删除计划任务

crontab -r
在这里插入图片描述

案例

1.利用一次性计划任务,在五分钟之后还原iptables 防火墙规则
在这里插入图片描述导入防火墙规则iptables-restore /etc/sysconfig/iptables
在这里插入图片描述在这里插入图片描述

2.设置一个周期性计划任务,还原防火墙规则。
在这里插入图片描述

iptables-restore需要加绝对路径
在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值