crontab 和 supervisor

Posted alin_qu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了crontab 和 supervisor相关的知识,希望对你有一定的参考价值。

crontab

linux系统自带的工具,可以做定时任务,最小间隔是1分钟

配置crontab 命令

如果是以root用户编辑的,那么最后运行也是以root用户运行脚本文件
    crontab -e 

命令格式如下

* * * * * command
minute   hour   day   month   week   command
  • minute: 表示分钟,可以是从0到59之间的任何整数
  • hour:表示小时,可以是从0到23之间的任何整数
  • day:表示日期,可以是从1到31之间的任何整数
  • month:表示月份,可以是从1到12之间的任何整数
  • week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日
  • command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件
#每15分钟运行一次脚本文件
*/15  *  *  *  * php /path/cron.php

#每天10点运行一次命令
0  10  *  *  * php /path/cron.php

切换到www-data用户编写运行命令

crontab -u www-data -e

supervisor

是Python写的进程管理工具,如果进程挂掉,则可以自动启动进程

查看配置

echo_supervisord_conf

编写自己的supervisor配置文件

    [program:time] 
    command=php /var/www/supervisor/log.php 
    stdout_logfile=/var/log/supervisor/time.log
    user=www-data
    startretries=3
    redirect_stderr=true
    autostart=true                
    autorestart=true
  • program: 应用程序的唯一标识 用于管理应用程序
  • command:要运行的命令,使用绝对命令
  • stdout_logfile:日志文件
  • user:以哪一个用户运行这个命令
  • startretries:启动失败自动重试次数
  • redirect_stderr:重定向输出的日志
  • autostart:在 supervisord 启动的时候也自动启动
  • autorestart:程序异常退出后自动重启

管理

直接shuru supervisorctl 可以进入管理界面

[email protected]:/var/log/supervisor# supervisorctl
time                             STARTING  
supervisor> 

错误

通过查看stdout_logfile配置的文件,可以查看日志

以上是关于crontab 和 supervisor的主要内容,如果未能解决你的问题,请参考以下文章

基于supervisor秒级Laravel定时任务

Crontab - 在目录中运行

ubuntu 守护进程supervisor的安装及使用(转载)

Supervisor使用 Supervisor source command not found 如何解决

supervisor安装和自启动的一些问题

supervisor安装和自启动的一些问题