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 能夠進入管理界面

root@ubuntu:/var/log/supervisor# supervisorctl
time                             STARTING  
supervisor>

錯誤

經過查看stdout_logfile配置的文件,能夠查看日誌
相關文章
相關標籤/搜索