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

  • 相关阅读:
    HDU 1813 Escape from Tetris
    BZOJ 2276 Temperature
    BZOJ 4499 线性函数
    BZOJ 3131 淘金
    HDU 5738 Eureka
    POJ 2409 Let it Bead
    POJ 1286 Necklace of Beads
    POJ 1696 Space Ant
    Fox And Jumping
    Recover the String
  • 原文地址:https://www.cnblogs.com/zhouby/p/10679186.html
Copyright © 2011-2022 走看看