昨天误操作把家里的NAS网卡停了,现远程连接上不,写一个自动重启脚本,规避类似风险
脚本
#!/bin/bash
# 检查的域名
server="www.baidu.com"
# 失败重试次数
retryCount=6
# 等待重试时间
sleepTime="5m"
# 执行的操作
cmd='systemctl restart networking' # 重启网络
# cmd='/usr/sbin/shutdown -r now' # 重启机器
echo -e "\n"`date`",#####正在进行联网测试......#####" >> /root/netless.log
while true
do
ping -c2 $server > /dev/null 2>&1
# ping -c3 $server
# ping命令返回状态
if [ $? -eq 0 ]
# ping成功,退出循环
then
result=`date`",ping 成功,网络正常 "
echo $result >> /root/netless.log
break
# ping失败,重试次数-1
else
retryCount=$[$retryCount - 1]
result=`date`",ping 失败,重试次数:"$retryCount
echo $result >> /root/netless.log
fi
# 失败次数已达标,执行选定操作
if [ $retryCount -eq 0 ]
then
result=`date`",#####多次测试联网失败,正在执行【 "$cmd" 】!!!#####"
echo $result >> /root/netless.log
exec $cmd
break
fi
# 等待后重试
sleep $sleepTime
done
Shell
crontab 表达式
# 在每小时的05分时执行
5 */1 * * * /root/script/netless.sh
Bash