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,编辑添加内容如下
问题:在配置好后,加载服务,会显示找不到pingip这个文件。解决方法是写pingip的全限定名。

#!/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点之间,每隔一小时执行一次
posted @ 2022-05-06 09:53  她与代码皆失  阅读(731)  评论(0编辑  收藏  举报