系統 linux系統
root@iZj6cbwo06ba2g87fx63cjZ:~/demo# uname -a
Linux iZj6cbwo06ba2g87fx63cjZ 4.4.0-117-generic #141-Ubuntu SMP Tue Mar 13 11:58:07 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
安裝
apt-get install cron -y
啓動
systemctl start cron
查看crontab狀態
編寫腳本restart.sh
腳本內容如下
#! /bin/sh
proc_name="trend.py"
proc_num()
{
num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
return $num
}
proc_num
number=$?
echo $number
if [ $number -eq 0 ]
then
cd /root/demo/
#nohup python trend.py &
nohup /root/anaconda3/bin/python trend.py &
fi
這裏有個坑/root/anaconda3/bin/python trend.py,必須指定python版本,不然crontab執行時會隨機執行一個
Python 3.7.0 (default, Jun 28 2018, 13:15:42)
[GCC 7.2.0]
實現每秒執行一次:因爲定時任務crontab最小執行單位是1min,所以在執行一次之後,每隔一秒執行一次
文件crontab.sh
內容如下
#!/bin/bash
step=1
for (( i = 0; i < 60; i=(i+step) )); do
/root/demo/restart.sh
sleep $step
done
exit 0
查看定時任務列表
crontab -l
添加定時任務列表
crontab -e
出現如下圖所示內容,編輯添加 如下內容 * * * * * bash /root/demo/crontab.sh
然後按 Control + X,輸入 Y,然後按Control + T 選擇所需要保存在那個文件就可以了
輸入 Y,然後按Control + T
選擇所需要保存在那個文件
出現這個crontab: installing new crontab
就表明成功添加定時任務了
說明
crontab –e : 修改 crontab 文件. 如果文件不存在會自動創建。
crontab –l : 顯示 crontab 文件。
crontab -r : 刪除 crontab 文件。
crontab -ir : 刪除 crontab 文件前提醒用戶。
參考:
shell腳本:Syntax error: Bad for loop variable錯誤解決方法
linux定時任務crontab 實現每秒執行一次的方法
crontab定時任務不執行的原因
使用nano時怎麼保存退出的問題
linux命令之crontab定時執行任務
linux服務器掛掉自動重啓腳本