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配置的文件,可以查看日志