昨天误操作把家里的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