zoukankan      html  css  js  c++  java
  • 浅谈Web开发中的定时任务


    曾经做过Windows server下的定时任务的业务,最近又做了一些Linux下使用Crontab做的定时任务的业务,觉得有必要进行一次小结,于是有了如下这篇文章。


    Windows Server下

    设置定时任务的步骤如下:

    比如:你开发了一个Windows可执行程序,并将其编译成demo.exe,然后你需要该任务每到特定的时间都自动进行执行...


    步骤1:打开"开始" -> "计划任务程序"



    步骤2: 依次选择 "计划任务程序(本地)" -> "任务计划程序库"




    步骤3: 点击右侧的"创建基本任务",然后按照向导填好相应的设置即可...



    Linux下

    使用Crontab设置定时任务:

    1、理解crontab的时间表达式


    基本格式 :
    *  *  *  *  *  command
    分 时   日  月  周   命令




    2. 配置和使用Crontab做定时任务


    Ubuntu下,在终端中输入crontab -e,即可打开crontab的配置文件,在这个文件里添加待执行的任务,里面可以执行各种各样的命令,比如:curl、sh、php等等...
    例如:你要给bravo发一份信,这个信的内容在/home/www/msg.txt里
    在执行crontab -e后,添加如下任务:

    50 13 4 5 * mail bravo < /home/www/msg.txt
    表示在每年的5月4号13:50发信给他


    再比如:

    在该配置文件中加入:

    20 13 * * * /usr/bin/curl -i http://dev.blog.io/cron/testAction

    即可定时访问该网址~


    另一个例子是使用sh命令(有时需要改为bash):

    00 02 * * * sh /home/bravo/shell/dailyError.sh
    

    也可以 crontab -uroot -l查看指定用户的定时任务。


    另外Linux下的at命令也可进行定时任务,
    at命令:仅执行一次的工作调度。
    我们使用at命令来生成所要运行的工作,并将这个工作以文本文件的方式写入到 /var/spool/at/目录里,使该工作能等待atd这个服务取用和执行。
    先寻找/etc/at.allow这个文件,只有写在这个文件中的用户才能使用at命令;再寻找/etc/at.deny文件,写在这个文件里的用户不能使用at命令;要是这两个文件都不存在,说明只有root用户才有权限使用at命令。
    step1. atd服务的启动  /etc/init.d/atd restart
    step2.at命令详解
             at [-mldv] TIME
              at -c 工作号码


             参数:
              -m:当at的工作完成后,即使没有输出信息,以email通知该用户工作已经完成
              -l: at -l相当于atq,列出系统上所有该用户at的调度
              -d: at -d相当于atrm,取消一个在at调度中的工作
              -v:可以使用比较明显的时间格式列出at调度中的任务列表
              -c:列出后面接的该工作的实际命令内容


              TIME时间格式:
               HH:MM            04:00
               HH:MM  YYYY-MM-DD             04:00   2009-03-17
               HH:MM[am|pm]   [Month]   [Date]       04pm   March 17
               HH:MM[am|pm]+numver [minutes|hours|days|weeks]              04:00 + 5 minutes
               now + 5 minutes


    *注: 以上内容中的部分图文来自于网上,其他部分均为原创...



  • 相关阅读:
    lucene建立索引时候的用到的一些文档和目录操作
    MYSQL Cast函数 类型转换
    windows和linux下执行java程序+获取本机IP
    apache lucene 的核心类
    apache lucene 一个最简单的实例
    lucene 索引非txt文档 (pdf word rtf html xml)
    MyISAM & InnoDB
    软件开发者面试百问
    比较lucene各种英文分析器Analyzer
    浅谈Base64编码
  • 原文地址:https://www.cnblogs.com/enjoy233/p/10408782.html
Copyright © 2011-2022 走看看