zoukankan      html  css  js  c++  java
  • Linux定时任务 结合PHP实现实时监控

    首先说说cron,它是一个linux下的定时执行工具。根用户以外的用户可以使用 crontab 工具来配置 cron 任务。
    所有用户定义的 crontab 都被保存在/var/spool/cron 目录中,并使用创建它们的用户身份来执行。
    要以某用户身份创建一个 crontab 项目,登录为该用户,然后键入 crontab -e 命令来编辑该用户的 crontab。
    该文件使用的格式和 /etc/crontab 相同。当对 crontab 所做的改变被保存后,
    该 crontab 文件就会根据该用户名被保存,并写入文件 /var/spool/cron/username 中。
    cron 守护进程每分钟都检查 /etc/crontab 文件、etc/cron.d/ 目录、以及 /var/spool/cron 目录中的改变。
    如果发现了改变,它们就会被载入内存。这样,当某个 crontab 文件改变后就不必重新启动守护进程了。

    使用方法:

    1. 首先在家目录下创建文件 <用户名>cron , 例如 tomcron , tom是用户名
    在此文件下输入需要定期执行的任务,例如
    * * * * * /usr/bin/php /home/eko/test/test.php > /home/eko/test/test.log
    每分钟向test.log输出当前时间

    2. 将创建好的任务提交给crontab进程
    eko@ubuntu:~$ crontab ekocron 

     此时输入命令 : crontab -l 可以查看已经开启的定时任务

       同时在 /var/spool/cron/ 目录下会生成一个 eko( 用户名命名) 的文件

       3. 编辑任务

    eko@ubuntu:~$ crontab -e
    

     4.  删除任务

    eko@ubuntu:~$ crontab -r
    

     删除任务会删除/var/spool/cron/下对应文件


    创建任务格式

    分钟   小时   日   月   星期   命令
    
    *        *      *    *     *       *
    # Use the hash sign to prefix a comment
    # +—————- minute (0 – 59)
    # | +————- hour (0 – 23)
    # | | +———- day of month (1 – 31)
    # | | | +——- month (1 – 12)
    # | | | | +—- day of week (0 – 7) (Sunday=0 or 7)
    # | | | | |
    # * * * * * command to be executed

    “*”代表取值范围内的数字, 
    “/”代表”每”, 
    “-”代表从某个数字到某个数字, 
    “,”分开几个离散的数字

    结合PHP监听端口,如果服务掉线,则发出警告
        const PORT = 8811;
    
        public function listening() {
            $shell  =  "netstat -anp 2>/dev/null | grep ". self::PORT . " | grep LISTEN | wc -l";
    
            $result = shell_exec($shell);
            if($result != 1) {
                // 发送报警服务 邮件 短信
                /// todo
                echo date("Ymd H:i:s")."error".PHP_EOL;
            } else {
                echo date("Ymd H:i:s")."succss".PHP_EOL;
            }
        }
        listening();
  • 相关阅读:
    随机购买彩票问题
    for循环小题
    20150914 异常语句 math的方法 去空格 索引
    20150913生成三个10以内的随机数,不想等
    winform 计算器 两步走
    枚举、常量、结构
    视频嵌入网页, 分享嵌入网页!
    !!!框架集
    日常总结!!!
    随笔练习!!!
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/9297470.html
Copyright © 2011-2022 走看看