编写名为auto_change_gw.sh的脚本,用来自动切换主机网关,相关说明如下:

1)有2个可用的网关地址,分别是主网关192.168.10.253和备用网关192.168.10.251,当前使用的默认网关是192.168.10.253;

2)若当前使用的网关地址192.168.10.253出现问题,自动把网关地址切换为192.168.10.251;

3)当网关地址192.168.10.253能正常工作后,当前主机再把网关地址切换到192.168.10.253。

讲下思路:

1、先用while 循环建一个死循环,为了让脚本永久循环下去,因为要实时测试主网关能否连通

while :

do

done

2、进入死循环后,在死循环里面再嵌套两个循环

第一个循环while循环,就是ping主网关,能ping通就继续ping,ping不通循环结束。就进入第二个循环

进入第二个循环前先删除默认网关,换上备用网关

3、进入第二个循环,是until循环,继续ping主网关,ping不通就继续ping,ping的通就结束循环,注意跟第一个循环的区别

此时由于是死循环的原因,又重头开始第一个循环,进入循环前需要先删除默认网关,换上主网关,这也是那两个命令在开头写的原因

# vim auto_change_gw.sh

#!/bin/bash

gw1=192.168.10.253

gw2=192.168.10.251

(

while : //条件恒真,进入死循环

do

route del default

route add default gw $gw1 //删除默认网关,并设gw1为默认网关。这两个命令主要是为了第二个循环结束后进行的操作

while ping -c 1 $gw1 &> /dev/null //测试能否ping通主网关。while循环是测试条件成立会继续循环,即继续ping下去

do

sleep 1 //ping成功会休眠一秒

done //ping不通结束循环

route del default

route add default gw $gw2 //第一个循环结束后进行的操作,删除默认网关,并将gw2设为默认网关

until ping -c 1 $gw1 &> /dev/null //进入第二个循环继续ping主网关。until循环是测试条件不成立会继续循环,即ping不通继续ping

do

sleep 1

done //ping通了就结束循环,又重新进入死循环进行的操作。就是删除默认网关,并gw1为默认网关

done

) & //将脚本里的命令加入后台执行

linux自动切换网,linux使用shell自动切换网关相关推荐

  1. Linux查看实时网速的Shell

    Linux查看实时网速的shell What 这是一个可以查看Linux主机实时网速的shell脚本,它能够根据网速自动调整单位以便更好的显示网速. Linux显示实时网速的shell Why 在工作 ...

  2. linux svn官网,linux svn

    一 建立仓库,配置svn 在Linux系统中搭建svn服务所需要用到的软件叫做subversion,可以通过yum来进行安装,如图 image 安装好软件后第一件事就是创建一个仓库目录 [root@s ...

  3. linux测试内网速度慢,shell多线程快速检测内网ip是否存活

    之前写了一篇shell检测内网ip是否存活,对内网ip检测实在是太慢了,最近闲得蛋疼,决定用多进程来解决. #!/bin/bash # By rocdk890 # https://blog.slogr ...

  4. 手机长时间不用自动断网_WiFi动不动就自动断网?都怪手机的默认设置!点这里一键修改...

    这几天学霸君一直在家玩手机,但是却经常觉得这个网好像有点不对劲. 有时候嘛,他还挺流畅的,玩几个小时游戏都不会爆延迟. 有时候嘛,刷个某音都会忽然载入不了卡在那里,让我搞不清楚这是 WiFi 的问题还 ...

  5. centos linux分区,人文网-Linux CentOS 系统分区方法

    默认情况下,用人文云服务器,"预装操作系统功能"预装好Centos后,Centos只用了20G的空间,多出来的空间需要手工处理才能在Centos中使用,使用方法如下: 使用Root ...

  6. linux 命令断网,linux 断网 扫描基本命令(示例代码)

    kali使用arpspoof命令进行ARP欺骗. 做法是获取目标主机IP镜像流量,再进行ARP欺骗. 此次测试实在局域网中进行,使用kali虚拟机和Windows10物理机测试. 最终效果是利用kal ...

  7. python自动提交网页表单_python自动提交表单数据库

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  8. Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明

    Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明 ------by liyoujia 环境: 需要用到mutt 和 msmtp 这两款软件 Mutt:linux初始化安装的时候自 ...

  9. 教会你Linux Shell自动交互的三种方法

    你了解Linux系统么?你是Linux系统的应用者么?如果你要学习linux,你可能会遇到Linux Shell自动交互问题,这里将介绍Linux Shell自动交互的解决方法,在这里拿出来和大家分享 ...

  10. linux自动点击软件上的按钮有什么用,教会你Linux Shell自动交互的三种方法

    你了解Linux系统么?你是Linux系统的应用者么?如果你要学习linux,你可能会遇到Linux Shell自动交互问题,这里将介绍Linux Shell自动交互的解决方法,在这里拿出来和大家分享 ...

最新文章

  1. GitHub开源蔡徐坤打篮球
  2. 李开复预测:未来20年 AI将深刻影响五大产业
  3. Calendar使用方法
  4. 用VS Code直接浏览GitHub代码 | 12.1K星
  5. faster rcnn源码解读(四)之数据类型imdb.py和pascal_voc.py(主要是imdb和roidb数据类型的解说)
  6. HOG特征检测学习笔记
  7. iOS点击推送消息跳到应用指定页面
  8. python 数值运算 m op n_python数值运算 四则运算
  9. Java 内存模型(一)
  10. 你应该知道的Python3.6、3.7、3.8新特性 ,赶紧收藏!!
  11. python-循环控制-break
  12. html5图像映射坐标怎么看,html学习之创建图像映射
  13. python颜色填充代码_求懂WORD的大佬怎么一次性填充颜色或者使用python识别
  14. 《如何搭建小微企业风控模型》第五节 特征工程(上)
  15. linux学习笔记:处理linux目录的常用命令
  16. Greenplum 模糊查询 实践
  17. ps aux 中的状态说明
  18. GD32F103实战
  19. TeXworks 设置成默认用XeLaTeX排版
  20. 大华NVR WEB界面把玩

热门文章

  1. linux opendir,linux opendir和readdir的使用
  2. Xilinx FPGA PTP IEEE1588使用
  3. 数学建模——灵敏度分析
  4. 关于ESAPI无法打印debug级别日志
  5. fdfs手动上传下载
  6. Python培训包食宿
  7. 10款Java开源项目
  8. html跳转页面携带数据
  9. Unity3D流体插件FluidSim使用总结
  10. STM8L低功耗模式