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 能夠進入管理界面
root@ubuntu:/var/log/supervisor# supervisorctl
time STARTING
supervisor>
錯誤
經過查看stdout_logfile配置的文件,能夠查看日誌