Linux定時任務Crontab以及nohup啟動


總結nohup掛掉的兩個理由:

1.程序自己報錯停掉

2.kill -9 強制殺掉進程

定時任務檢查進程號,如果不存在直接啟動腳本:

1.安裝crontab

yum install crontabs

2.啟動服務

/sbin/service crond start //啟動服務

3.加入開機自動啟動

chkconfig -level 35 crond on

4.編寫test.sh腳本

#!/bin/bash

#判斷腳本是否啟動

ps -ef|grep test.py|grep -v "grep" 

#如果沒有

if[$? -ne 0] 

then

echo "start process......" 

# 執行啟動腳本命令,nohup輸出是追加到日志文件,這樣不會覆蓋掉之前的日志文件

nohup python /home/hlz/Desktop/test.py >>/home/hlz/Desktop/test.log 2>&1&

else

echo "running......"

fi

5.給腳本賦予執行權限(使腳本具有執行權限)

chmod +x ./test.sh

6.編輯當前用戶的cron配置

crontab -e

* */1 * * * /home/hlz/Desktop/test.sh

7.crontab文件格式學習:

minute   hour    day   month   week   command

分           時        天       月         周       命令

minute: 表示分鍾,可以是從0到59之間的任何整數。

hour:表示小時,可以是從0到23之間的任何整數。

day:表示日期,可以是從1到31之間的任何整數。

month:表示月份,可以是從1到12之間的任何整數。

week:表示星期幾,可以是從0到7之間的任何整數,這里的0或7代表星期日。

command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。

例如:

* * * * * /home/test.sh  #每一分鍾執行一次test.sh腳本

10,15 * * * * /home/test.sh #每小時的10,15分鍾各執行一次test.sh腳本

15 8 * * * /home/test.sh #每天早上8點15執行一次

15 8 1 jan * /home/test.sh #1月1號早上8點15執行一次

0 6 * * 6 /home/test.sh #每個星期六的早上6點執行一次

* 8 * * * /home/test.sh #每個早上8點執行一次

0 */2 * * * /home/test.sh #每兩小時執行一次

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM