zoukankan      html  css  js  c++  java
  • Linux系统中的计划任务

      在系统的工作管理中,我们经常会有需要去告诉电脑某些特定的时间执行一些操作,比如定时提醒工作人员需要做什么事情,或者在每天凌晨进行文件备份等等。这就需要某些命令来达成计划任务。

      计划任务可以大体上分成两类:1、定时性的,每隔一定的周期就做同样的事情;

                    2、突发性的,只执行这一次就不再执行。在Linux系统中分别用crontab和at 两个命令来进行这两个操作。

    at一次性计划任务使用

     

    at语法格式:at 时间

     

    1. 下载at程序

    [root@ken ~]# yum install at -y

     

    2. 启动atd服务

    [root@ken ~]# systemctl restart atd
    [root@ken ~]# ps aux |  grep atd
    root       1166  0.0  0.1  25904   944 ?        Ss   17:52   0:00 /usr/sbin/at -f
    root       1168  0.0  0.1 112704   956 pts/0    S+   17:52   0:00 grep --color=auto atd

     

    3. 设置at计划任务

    复制代码
    [root@ken ~]# at 10:00                       #如果是上午时间,后面加上am,比如9:20am
    at> touch /tmp/test1                         #输入你要执行的命令
    at> <EOT>                                    #按ctrl+d保存
    job 1 at Fri Mar  1 10:00:00 2019
    [root@ken ~]# at -l                          #查看计划任务
    1    Fri Mar  1 10:00:00 2019 a root
    [root@ken ~]# atq                            #查看计划任务
    1    Fri Mar  1 10:00:00 2019 a root
    复制代码

     

    4. 删除计划任务atrm

    [root@ken ~]# at -l                           #第一步查看计划任务,获取前面编号
    1    Fri Mar  1 10:00:00 2019 a root
    [root@ken ~]# atrm 1                          #删除计划任务加上编号
    [root@ken ~]# at -l                           #再次查看计划任务发现已经删除
     

     

    5. at计划任务的特殊写法

    [root@ken ~]# at 20:00 2018-10-1   在某天 
    [root@ken ~]# at now +10min   在 10分钟后执行
    [root@ken ~]# at 17:00 tomorrow   明天下午5点执行
    [root@ken ~]# at 6:00 pm +3 days   在3天以后的下午6点执行

    crontab定时任务的使用

     

    语法:#crontab -u  -e

             常用选项:

                      -llist,列出指定用户的计划任务列表

                      -eedit,编辑指定用户的计划任务列表

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

                      -rremove,删除指定用户的计划任务列表

     

    1. 查看进程是否启动

    [root@ken ~]# ps aux | grep crond
    root        621  0.0  0.3 126284  1600 ?        Ss   17:46   0:00 /usr/sbin/crond -n
    root       1194  0.0  0.1 112704   956 pts/0    S+   18:05   0:00 grep --color=auto crond

     

    2. 查看计划任务

    [root@ken ~]# crontab -l
    no crontab for root

     

    3. 编写计划任务

    计划任务的规则语法格式,以行为单位,一行为一个计划:

    分 时 日 月 周 需要执行的命令

    执行的命令建议写成绝对路径的格式!

     

    例如:如果想要每天的00分执行reboot指令,则可以写成

    0 0 * * * reboot

     

    取值范围(常识):

    分:0~59

    时:0~23

    日:1~31

    月:1~12

    周:0~707表示星期天

     

    四个符号:

    *:表示取值范围中的每一个数字

    -:做连续区间表达式的,要想表示1~7,则可以写成:1-7

    /:表示每多少个,例如:想每10分钟一次,则可以在分的位置写:*/10

    ,:表示多个取值,比如想在1点,26点执行,则可以在时的位置写:1,2,6

  • 相关阅读:
    php-instanceof运算符
    windows10-seaslog安装笔记
    [类和对象]1 封装 调用成员函数
    [C++] 拓展属性
    [C++] 引用详解
    [C++] Const详解
    ROS 常用
    win10 ubuntu16双系统安装教程
    [0] OpenCV_Notes
    Ubuntu16.04安装openCV的问题集合
  • 原文地址:https://www.cnblogs.com/zhouby/p/10679186.html
Copyright © 2011-2022 走看看