Linux计划任务

1. 简介

计划任务就是指有计划的任务,即在某个预定的时间让Linux自动执行特定任务。可以分为一次性计划任务和周期性计划任务两大类型。

2. 一次性计划任务

2.1 一次性计划任务简介

一次性计划任务指只需要在某个特定时间点执行一次特定任务即可。在Linux中可以通过命令at创建这种类型的计划任务,at命令有一个atd服务来检查当前的时间点是否需要运行某个计划,其默认的检测周期是60秒,即每隔一分钟检测一次是否需要执行特定任务。

2.2 一次性计划任务创建

一次性任务的创建格式为:

at 时间点
任务
<EOT>

注: ctrl + d可以提交任务,最后会出现上面的<EOT>标志
实例:
在这里插入图片描述

2.3 一次性计划任务管理

一次性计划任务管理主要涉及以下几个命令:

  1. atq:查询当前未执行的计划任务
  2. atrm job_id:删除id值为job_id的计划任务
  3. at -c job_id:查看job_id计划任务的环境变量

符: 通过在/etc/目录下新建at.allow(白名单)和at.deny(黑名单)配置文件,可以控制可以提交任务的用户,其中at.allow优先级较高(即在at.allow中写入的用户才可以提交计划任务)。

3. 周期性计划任务

3.1 周期性计划任务介绍

周期性计划任务是指每在一个时间点执行特定任务,例如每年的一月一号14点10分执行ls命令就是一个周期性任务。

3.2 创建周期性计划任务

创建周期性计划任务主要依靠命令crontab,依靠名为crond的服务,主要涉及的命令为:

  1. crontab -e:编辑当前shell的计划任务
  2. crontab -e -u username:为用户名为username的用户编辑计划任务,并且只有root用户可以进行这种操作
  3. crontab -l:列出所有用户的所有计划任务
  4. crontab -l -u username:列出用户名为username的用户的所有计划任务

符: 编辑计划任务的格式和vim编辑文件类似,不过其遵循如下的格式:

* * * * * [sleep 秒数] [用户名] 需要执行命令/脚本 # 在指定时间[以指定用户]执行特定任务
# 其中第一个"*"表示分钟,第二个"*"表示小时,第三个"*"表示天,第四个"*"表示月,第五个"*"表示星期,"*"表示不限制,即每个单位时间都执行。
# 例如:* * 3 * * 表示每月3号执行该任务,且三号每分钟都执行一次。而*/5 * * * * 表示每隔五分钟执行一次;1,3,5 1 * * * *	表示每天一点零一、零三和零五分钟执行一次任务

实例:

  1. 输入crontab -e进入编辑任务状态
    在这里插入图片描述

  2. 输入如下内容,表示每隔五分钟执行一次/root/Desktop/test.sh脚本
    在这里插入图片描述

  3. 退出编辑状态后使用crontab -l即可查看刚才编辑的任务,如下:
    在这里插入图片描述

3.3 周期性计划任务的管理

同一次性计划任务一样,也可以通过/etc/cron.allow/etc/cron.deny来对任务的提交者进行控制。
符: /var/log/crod是cron的执行日志。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值