zoukankan      html  css  js  c++  java
  • Linux系统定时任务

    linux系统定时任务分为一次性任务和周期性任务。顾名思义一次性任务执行一次就结束了,周期性任务是按照一定规律多次执行,至于这个规律就是自己制定啦。

    一次性任务   使用 at 命令

    1.确定at是否安装:输入命令 chkconfig --list | grep atd

    一般情况都是默认安装而且是自启动的,除非自己给删除了。

    重新启动 at服务命令 service atd restart 

    查看当前at服务状态命令 service atd status

    在系统文件夹 /etc下可能存在文件 at.allow (白名单) 和 at.deny(黑名单) ,这个文件是用来限制哪些用户可以使用at命令哪些用户不可以使用at命令,对root用户无效。如果两个文件都不存在那么只有root用户可以使用at命令。

    2.at命令格式

    at [选项] 时间

    选项:

              -m: 当at工作完成后,无论是否命令有输出都会用email通知执行at命令的用户。

              -c 工作号:显示该at工作的实际内容。

    时间格式:

                      1. HH:MM    --》 06:30

                      2. HH:MM YYYY-MM-DD   --》06:30 2017-07-13

                      3. now + 5 minutes

     例如: at  now  +  5  minutes   回车

        再输入你要执行的任务(绝对路径下的某个shell脚本)    

     查看命令: atq    查看当前有哪些定时任务

                        at  -c  任务号   查看该任务的详细

    周期性任务  使用 crontab 命令

    输入命令 :crontab -e    进入crontab 编辑界面,会打开vim编辑你的任务

    格式: *  *  *  *  *  执行的任务

    每一行命令都代表一个周期任务,编辑结束ESC切换命令模式:wq 保存退出

    这五个 * * * * * 分别代表         *          *          *          *           *

                                                  分        时        天       月       星期

                                   

     特殊链接符号:星号“ * ”       逗号 “,”      横杠 “-”      斜杠 “/”      

                                                            “*”  表示任意时间段

                                                            “,”连接表示在指定的几个时间值

                                                            “-” 连接表示指定区间范围内

                                                            “/n”连接表示每隔n个单位时间

    例如:

                      #每晚的21:30重启apache。

                      30 21 * * * /usr/local/etc/rc.d/lighttpd restart

                      #每月1、10、22日

                      45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

                     #每天早上6点10分

                     10 6 * * * date

                     #每两个小时

                     0 */2 * * * date

                     #晚上11点到早上8点之间每两个小时,早上8点

                     0 23-7/2,8 * * * date

                    #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

                    0 11 4 * mon-wed date

                    #1月份日早上4点

                    0 4 1 jan * date 

    其他命令: crontab -r  删除所有周期任务

                       crontab -l  列出所有周期任务

  • 相关阅读:
    eclipse maven 插件 安装 和 配置
    Windows下 maven3.0.4的安装步骤+maven配置本地仓库
    js中转换Date日期格式
    Java 集合类详解
    java的反射机制
    Java 单例模式详解
    Http协议与TCP协议简单理解
    初识JavaScript,Ajax,jQuery,并比较三者关系
    MyBatis
    MyEclipse、Eclipse优化设置
  • 原文地址:https://www.cnblogs.com/xionghao/p/7156362.html
Copyright © 2011-2022 走看看