欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux的任务计划管理

程序员文章站 2022-04-10 15:33:29
在手机中,我们常常使用备忘录或者是闹钟等来提醒我们该做什么事情了,在Linux操作系统中,也有类似的操作。 在Linux中除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期执行预先计划好的系统管理任务(如定期备份、定期采集监测数据)。RHEL6系统中默认已安装了at、cronie软件 ......

         在手机中,我们常常使用备忘录或者是闹钟等来提醒我们该做什么事情了,在linux操作系统中,也有类似的操作。

      在linux中除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期执行预先计划好的系统管理任务(如定期备份、定期采集监测数据)。rhel6系统中默认已安装了at、cronie软件

包,通过atd和crond这两个系统服务实现一次性、周期性计划任务的功能,并分别通过at、crontab命令进行计划任务设置。

、at—一次性计划任务

 1、准备

 at的适用前提是at程序已经安装并运行atd服务(atd服务是linux下一次性定时计划任务命令的守候进程)

  如果没有安装at程序则需要首先安装at程序—— yum install at -y

  如果没有运行atd服务则需启动atd服务—— systemctl restart atd;查看是否成功启动atd服务可以用命令  ps aux | grep  atd  来抓取atd进程信息,如下图所示即为成功。

Linux的任务计划管理

2、设置at计划任务  

  接下来万事俱备,我们便可以调用at程序来设置我们的一次性计划任务了

  at的格式是 ——at  h:m   y-m-d (h/m:小时/分钟    y/m/d:年/月/日)特别注意at的时间格式,若是不加上后面的年月日便自动表示为今天,则为12小时制,上午要在时间后标明am(上午)或pm(下午)。

  打出命令后,会弹出可供输入的命令行,在里面输入想要执行的操作后,摁 ctrl + d 保存

  设置完可以用—— at -l 或者 atq 来查看已设置的计划

3、删除计划任务

  当我们不想要这个计划后,可以输入 atrm i  来进行删除操作(i代表计划任务的编号,每个任务都会在行首 标明编号,可以利用at -l 或atq来查看)。   值得注意的是删除任务后编号不会归零而是继续向下顺位。

4、特殊计划任务的写法

Linux的任务计划管理

二、crontab定时任务的使用

语法与常用命令 

 相比于一次性计划任务,crontab可以多次的执行计划,可以在固定的某月某周某天某时某分来执行,也可以设置为每经过多长时间便执行一次

  它的语法为—— crontab -u  -e

     -l:list,列出指定用户的计划任务列表——查看命令

               -e:edit,编辑指定用户的计划任务列表

               -u:user,指定的用户名,如果不指定,则表示当前用户

               -r:remove,删除指定用户的计划任务列表

编写计划任务

  在进入 -e 编辑模式后,已行为单位,每一行就是一个计划,需要执行的命令要写成绝对路径的格式,

   代表取值范围里的每一个数字,拿第一个举例子,如果第一位是  则代表每一分钟都会执行一次该命令

    - 代表取值范围,例如 在 10点到12点之间就可以在第二个 设置为  10-12 即可

    / 代表每多少个,例如想要每10分钟执行一次,可在分的位置设置  */10

    代表多个数值,例如想在1,2,6点执行,便可在时的位置设置为 1,2,6

  Linux的任务计划管理

 删除任务计划

    我们想要删除刚刚编写的计划,用——crontab  -r就可以进行全部删除注意这个命令是全部删除,但是有时候我们创建了多条计划想进行批量删除可以进入编辑模式,然后在不想要的计划前面加上#(其实就是把这一行注释掉啦)