linux自动切换网,linux使用shell自动切换网关
编写名为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自动切换网关相关推荐
- Linux查看实时网速的Shell
Linux查看实时网速的shell What 这是一个可以查看Linux主机实时网速的shell脚本,它能够根据网速自动调整单位以便更好的显示网速. Linux显示实时网速的shell Why 在工作 ...
- linux svn官网,linux svn
一 建立仓库,配置svn 在Linux系统中搭建svn服务所需要用到的软件叫做subversion,可以通过yum来进行安装,如图 image 安装好软件后第一件事就是创建一个仓库目录 [root@s ...
- linux测试内网速度慢,shell多线程快速检测内网ip是否存活
之前写了一篇shell检测内网ip是否存活,对内网ip检测实在是太慢了,最近闲得蛋疼,决定用多进程来解决. #!/bin/bash # By rocdk890 # https://blog.slogr ...
- 手机长时间不用自动断网_WiFi动不动就自动断网?都怪手机的默认设置!点这里一键修改...
这几天学霸君一直在家玩手机,但是却经常觉得这个网好像有点不对劲. 有时候嘛,他还挺流畅的,玩几个小时游戏都不会爆延迟. 有时候嘛,刷个某音都会忽然载入不了卡在那里,让我搞不清楚这是 WiFi 的问题还 ...
- centos linux分区,人文网-Linux CentOS 系统分区方法
默认情况下,用人文云服务器,"预装操作系统功能"预装好Centos后,Centos只用了20G的空间,多出来的空间需要手工处理才能在Centos中使用,使用方法如下: 使用Root ...
- linux 命令断网,linux 断网 扫描基本命令(示例代码)
kali使用arpspoof命令进行ARP欺骗. 做法是获取目标主机IP镜像流量,再进行ARP欺骗. 此次测试实在局域网中进行,使用kali虚拟机和Windows10物理机测试. 最终效果是利用kal ...
- python自动提交网页表单_python自动提交表单数据库
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明
Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明 ------by liyoujia 环境: 需要用到mutt 和 msmtp 这两款软件 Mutt:linux初始化安装的时候自 ...
- 教会你Linux Shell自动交互的三种方法
你了解Linux系统么?你是Linux系统的应用者么?如果你要学习linux,你可能会遇到Linux Shell自动交互问题,这里将介绍Linux Shell自动交互的解决方法,在这里拿出来和大家分享 ...
- linux自动点击软件上的按钮有什么用,教会你Linux Shell自动交互的三种方法
你了解Linux系统么?你是Linux系统的应用者么?如果你要学习linux,你可能会遇到Linux Shell自动交互问题,这里将介绍Linux Shell自动交互的解决方法,在这里拿出来和大家分享 ...
最新文章
- GitHub开源蔡徐坤打篮球
- 李开复预测:未来20年 AI将深刻影响五大产业
- Calendar使用方法
- 用VS Code直接浏览GitHub代码 | 12.1K星
- faster rcnn源码解读(四)之数据类型imdb.py和pascal_voc.py(主要是imdb和roidb数据类型的解说)
- HOG特征检测学习笔记
- iOS点击推送消息跳到应用指定页面
- python 数值运算 m op n_python数值运算 四则运算
- Java 内存模型(一)
- 你应该知道的Python3.6、3.7、3.8新特性 ,赶紧收藏!!
- python-循环控制-break
- html5图像映射坐标怎么看,html学习之创建图像映射
- python颜色填充代码_求懂WORD的大佬怎么一次性填充颜色或者使用python识别
- 《如何搭建小微企业风控模型》第五节 特征工程(上)
- linux学习笔记:处理linux目录的常用命令
- Greenplum 模糊查询 实践
- ps aux 中的状态说明
- GD32F103实战
- TeXworks 设置成默认用XeLaTeX排版
- 大华NVR WEB界面把玩