1. 程式人生 > 其它 >centos7 定時執行ping指令碼

centos7 定時執行ping指令碼

宿主機安裝虛擬機器centos7系統後,隔天區域網內其他電腦會連不上宿主機上的centos7系統。必須要centos7系統ping區域網內其他機器才行。嘗試了很多辦法,都沒有解決,故使用crontabs定時執行指令碼。

1.安裝crontabs服務

yum install crontabs -y
systemctl enable crond   #設為開機啟動
systemctl start crond      #啟動crond服務
systemctl reload crond     #重啟crond服務
systemctl status crond   #檢視是否啟動

2.寫自己的ping指令碼命令

新建指令碼ping.sh,編輯新增內容如下

#!/bin/bash
IP_LIST=`cat pingip`
for i in ${IP_LIST}
do
ping=`ping -c 3 $i > /dev/null`
if [ $? -ne 0 ];then
echo "ping $i fail"
else
echo "ping $i ok"
fi
done

同目錄下新建ip列表pingip檔案

10.1.1.2
10.3.2.4

3.設定定時任務

開啟/etc/crontab檔案,編輯內容在末尾加上自己的指令碼
* 9 * * * root /mnt/scheduledTask/ping/ping.sh

載入任務,生效
crontab /etc/crontab

4.配置檔案詳解

位置:

五個*號
*  *  *  *  *  command
分   時   日   月   周   命令

操作符
1. * 取值範圍內的所有數字 ,代表所有。
2. / 每過多少個數字 ,代表每隔n長時間
3. - 從X到Z ,代表一段時間範圍
4. ,雜湊數字,代表分割開多個值

5. 任務例子

* * * * * /root/backup.sh  	#每1分鐘執行一次
3,15 * * * * /root/backup.sh  	#每小時的第3分鐘和第15分鐘執行一次
3,15 8-11 * * * /root/backup.sh 	#每天的8點到11點的第3和第15分鐘執行一次
3,15 8-11 */2 * * /root/backup.sh 	#每隔兩天的上午8點到11點的第3和第15分鐘執行一次
3,15 8-11 * * 1 /root/backup.sh  	#每週一上午8點到11點的第3和第15分鐘執行一次
30 21 * * * /root/backup.sh  	#每晚的21:30執行一次
45 4 1,10,22 * * /root/backup.sh  	#每月1、10、22日的4 : 45執行一次
10 1 * * 6,0 /root/backup.sh	#每週六、週日的1 : 10執行一次
0,30 18-23 * * * /root/backup.sh 	#每天18 : 00至23 : 00之間每隔30分鐘執行一次
0 23 * * 6 /root/backup.sh  	每星期六的晚上23: 00 pm執行一次
* */1 * * * /root/backup.sh 	每一小時執行一次
* 23-7/1 * * * /root/backup.sh  	每天晚上23點到第二天早上7點之間,每隔一小時執行一次