一键修改IP多实例
一键修改IP多实例-v1
#!/bin/bash
#2020-03-01
#auto change ip
#By Flyaway
######################
grep "dhcp" /etc/sysconfig/network-scripts/ifcfg-ens33
if [ $? -eq 0 ];then
cat >/etc/sysconfig/network-scripts/ifcfg-ens33 <<EOF
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.19
PREFIX=24
GATEWAY=192.168.1.1
DNS1=114.114.114.114
EOF
fi
cat /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
ifconfig
一键修改IP多实例-v2
#!/bin/bash
#2020-03-01
#auto change ip
#By Flyaway
######################
ETH_FIX="24"
ETH_NAME="ens33"
ETH_WAY="192.168.1.1"
ETH_IP="192.168.1.19"
ETH_DNS="114.114.114.114"
ETH_BAK="/data/backup/$(date +%Y%m%d%H%M%S)"
ETH_DIR="/etc/sysconfig/network-scripts/"
cd $ETH_DIR
if [ ! -d $ETH_BAK ];then
mkdir -p $ETH_BAK
fi
\cp ifcfg-$ETH_NAME $ETH_BAK
grep "dhcp" ifcfg-$ETH_NAME
if [ $? -eq 0 ];then
cat >ifcfg-$ETH_NAME <<EOF
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
DEVICE=$ETH_NAME_
ONBOOT=yes
IPADDR=$ETH_IP
PREFIX=$ETH_FIX
GATEWAY=$ETH_WAY
DNS1=$ETH_DNS
EOF
fi
cat ifcfg-$ETH_NAME
systemctl restart network
ifconfig $ETH_NAME
一键修改IP多实例-v3
#!/bin/bash
#2020-03-01
#auto change ip
#By Flyaway
######################
ETH_IP="$1"
ETH_FIX="24"
ETH_NAME="ens33"
ETH_WAY="192.168.1.1"
ETH_DNS="114.114.114.114"
ETH_DIR="/etc/sysconfig/network-scripts/"
ETH_BAK="/data/backup/`date +%Y%m%d%H%M%S`"
if [ $# -eq 0 ];then
echo -e "\033[32m------------------------\033[0m"
echo -e "\033[32mUsage:{/bin/sh $0 192.168.1.xxx}\033[0m"
exit 1
fi
cd $ETH_DIR
if [ ! -d $ETH_BAK ];then
mkdir -p $ETH_BAK
fi
\cp ifcfg-$ETH_NAME $ETH_BAK
#CHECK_NUM=`grep "dhcp" ifcfg-$ETH_NAME|wc -l`
#if [ $CHECK_NUM -eq 1 ];then
grep "dhcp" ifcfg-$ETH_NAME
if [ $? -eq 0 ];then
cat >ifcfg-$ETH_NAME <<EOF
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
DEVICE=$ETH_NAME_
ONBOOT=yes
IPADDR=$ETH_IP
PREFIX=$ETH_FIX
GATEWAY=$ETH_WAY
DNS1=$ETH_DNS
EOF
fi
cat ifcfg-$ETH_NAME
systemctl restart network
ifconfig $ETH_NAME
一键修改IP多实例-v4
#!/bin/bash
#2020-03-01
#auto change ip
#By Flyaway
######################
ETH_IP="$1"
ETH_FIX="24"
ETH_NAME="ens33"
ETH_WAY="192.168.1.1"
ETH_DNS="114.114.114.114"
ETH_DIR="/etc/sysconfig/network-scripts/"
ETH_BAK="/data/backup/`date +%Y%m%d%H%M%S`"
if [ $# -eq 0 ];then
echo -e "\033[32m------------------------\033[0m"
echo -e "\033[32mUsage:{/bin/sh $0 192.168.1.xxx}\033[0m"
exit 1
fi
cd $ETH_DIR
if [ ! -d $ETH_BAK ];then
mkdir -p $ETH_BAK
fi
\cp ifcfg-$ETH_NAME $ETH_BAK
#CHECK_NUM=`grep "dhcp" ifcfg-$ETH_NAME|wc -l`
#if [ $CHECK_NUM -eq 1 ];then
grep "dhcp" ifcfg-$ETH_NAME
if [ $? -eq 0 ];then
cat >ifcfg-$ETH_NAME <<EOF
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
DEVICE=$ETH_NAME_
ONBOOT=yes
IPADDR=$ETH_IP
PREFIX=$ETH_FIX
GATEWAY=$ETH_WAY
DNS1=$ETH_DNS
EOF
else
read -p "The server static ipaddr alreaby exist,please ensure change other static ip?" INPUT
if [ $INPUT == "yes" -o $INPUT == "y" -o $INPUT == "Y" ];then
cat >ifcfg-$ETH_NAME <<EOF
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
DEVICE=$ETH_NAME_
ONBOOT=yes
IPADDR=$ETH_IP
PREFIX=$ETH_FIX
GATEWAY=$ETH_WAY
DNS1=$ETH_DNS
EOF
fi
fi
cat ifcfg-$ETH_NAME
systemctl restart network
ifconfig $ETH_NAME
一键修改IP多实例-v5
#!/bin/bash
#2020-03-01
#auto change ip
#By Flyaway
######################
ETH_IP="$1"
ETH_FIX="24"
ETH_NAME="ens33"
ETH_WAY="192.168.1.1"
ETH_DNS="114.114.114.114"
ETH_DIR="/etc/sysconfig/network-scripts/"
ETH_BAK="/data/backup/`date +%Y%m%d%H%M%S`"
function change_ip(){
cat >ifcfg-$ETH_NAME <<EOF
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
DEVICE=$ETH_NAME_
ONBOOT=yes
IPADDR=$ETH_IP
PREFIX=$ETH_FIX
GATEWAY=$ETH_WAY
DNS1=$ETH_DNS
EOF
cat ifcfg-$ETH_NAME
echo -e "\033[32m IP 修改成功请查看:\033[0m"
}
if [ $# -eq 0 ];then
echo -e "\033[32m------------------------\033[0m"
echo -e "\033[32mUsage:{/bin/sh $0 192.168.1.xxx}\033[0m"
exit 1
fi
cd $ETH_DIR
if [ ! -d $ETH_BAK ];then
mkdir -p $ETH_BAK
fi
\cp ifcfg-$ETH_NAME $ETH_BAK
#CHECK_NUM=`grep "dhcp" ifcfg-$ETH_NAME|wc -l`
#if [ $CHECK_NUM -eq 1 ];then
grep "dhcp" ifcfg-$ETH_NAME
if [ $? -eq 0 ];then
change_ip
else
echo -e "\033[32m------------------------\033[0m"
cat ifcfg-$ETH_NAME
read -p "The server static ipaddr alreaby exist,please ensure change other static ip?" INPUT
if [ $INPUT == "yes" -o $INPUT == "y" -o $INPUT == "Y" ];then
change_ip
fi
fi
#cat ifcfg-$ETH_NAME
systemctl restart network
#ifconfig $ETH_NAME
一键修改IP多实例-v6
#!/bin/bash
#2020-03-01
#auto change ip
#By Flyaway
######################
ETH_IP="$1"
ETH_FIX="24"
ETH_NAME="ens33"
ETH_WAY="192.168.1.1"
ETH_DNS="114.114.114.114"
ETH_DIR="/etc/sysconfig/network-scripts/"
ETH_BAK="/data/backup/`date +%Y%m%d%H%M%S`"
#定义函数:
function change_ip(){
cat >ifcfg-$ETH_NAME <<EOF
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
DEVICE=$ETH_NAME
ONBOOT=yes
IPADDR=$ETH_IP
PREFIX=$ETH_FIX
GATEWAY=$ETH_WAY
DNS1=$ETH_DNS
EOF
cat ifcfg-$ETH_NAME
echo -e "\033[32m IP 修改成功请查看:\033[0m"
}
#判断$1是否输入IP,不输入则退出:
if [ $# -eq 0 ];then
echo -e "\033[32m------------------------\033[0m"
echo -e "\033[32mUsage:{/bin/sh $0 192.168.1.xxx}\033[0m"
exit 1
fi
#判断目录是否存在,不存在则创建:
cd $ETH_DIR
if [ ! -d $ETH_BAK ];then
mkdir -p $ETH_BAK
fi
#修改IP之前拷贝原网卡文件:
\cp ifcfg-$ETH_NAME $ETH_BAK
#CHECK_NUM=`grep "dhcp" ifcfg-$ETH_NAME|wc -l`
#if [ $CHECK_NUM -eq 1 ];then
grep "dhcp" ifcfg-$ETH_NAME
if [ $? -eq 0 ];then
#引用函数:(动态IP修改为静态IP)
change_ip
else
#静态IP修改为其他静态IP:
echo -e "\033[32m------------------------\033[0m"
cat ifcfg-$ETH_NAME
read -p "The server static ipaddr alreaby exist,please ensure change other static ip?" INPUT
if [ $INPUT == "yes" -o $INPUT == "y" -o $INPUT == "Y" ];then
change_ip
fi
fi
#实现修改之前确认是否修改,如果不修改需要恢复原IP信息:
read -p "The server ip change succeded,restart network.service yes or no?" INPUT
if [ $INPUT == "yes" -o $INPUT == "y" -o $INPUT == "Y" ];then
systemctl restart network
else
\cp $ETH_BAK/ifcfg-$ETH_NAME $ETH_DIR
cat ifcfg-$ETH_NAME
fi
一键修改IP多实例-v7
#!/bin/bash
#2020-03-01
#auto change ip
#By Flyaway
######################
ETH_IP="$1"
ETH_FIX="24"
ETH_NAME="ens33"
ETH_WAY="192.168.1.1"
ETH_DNS="114.114.114.114"
ETH_DIR="/etc/sysconfig/network-scripts/"
ETH_BAK="/data/backup/`date +%Y%m%d%H%M%S`"
#定义函数:
function change_ip(){
cat >ifcfg-$ETH_NAME <<EOF
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
DEVICE=$ETH_NAME
ONBOOT=yes
IPADDR=$ETH_IP
PREFIX=$ETH_FIX
GATEWAY=$ETH_WAY
DNS1=$ETH_DNS
EOF
cat ifcfg-$ETH_NAME
echo -e "\033[32m IP 修改成功请查看:\033[0m"
}
#判断$1是否输入IP,不输入则退出:
if [ $# -eq 0 ];then
echo -e "\033[32m------------------------\033[0m"
echo -e "\033[32mUsage:{/bin/sh $0 请输入将需要修改的IP:}\033[0m"
exit 1
fi
#while 判断用户输入的IP是否正确,如果不正确,让其循环输入,直到正确为止:
while true
do
IP1=$(echo $ETH_IP|cut -d"." -f1)
IP2=$(echo $ETH_IP|cut -d"." -f2)
IP3=$(echo $ETH_IP|cut -d"." -f3)
IP4=$(echo $ETH_IP|cut -d"." -f4)
if [ ! -z $IP1 ];then
if [ $IP1 -ge 1 -a $IP1 -le 255 -a $IP2 -ge 0 -a $IP2 -le 255 -a $IP3 -ge 0 -a $IP3 -le 255 -a $IP4 -ge 0 -a $IP4 -le 255 ];then
echo $ETH_IP
break
else
echo -e "\033[32m--------------------\033[0m"
read -p "Please retry input server ip: " ETH_IP
fi
fi
read -p "Please retry input server ip: " ETH_IP
done
#判断目录是否存在,不存在则创建:
cd $ETH_DIR
if [ ! -d $ETH_BAK ];then
mkdir -p $ETH_BAK
fi
#修改IP之前拷贝原网卡文件:
\cp ifcfg-$ETH_NAME $ETH_BAK
#CHECK_NUM=`grep "dhcp" ifcfg-$ETH_NAME|wc -l`
#if [ $CHECK_NUM -eq 1 ];then
grep "dhcp" ifcfg-$ETH_NAME
if [ $? -eq 0 ];then
#引用函数:(动态IP修改为静态IP)
change_ip
else
#静态IP修改为其他静态IP:
echo -e "\033[32m------------------------\033[0m"
cat ifcfg-$ETH_NAME
read -p "The server static ipaddr alreaby exist,please ensure change other static ip?" INPUT
if [ $INPUT == "yes" -o $INPUT == "y" -o $INPUT == "Y" ];then
change_ip
fi
fi
#实现修改之前确认是否修改,如果不修改需要恢复原IP信息:
read -p "The server ip change succeded,restart network.service yes or no?" INPUT
if [ $INPUT == "yes" -o $INPUT == "y" -o $INPUT == "Y" ];then
systemctl restart network
else
\cp $ETH_BAK/ifcfg-$ETH_NAME $ETH_DIR
cat ifcfg-$ETH_NAME
fi
一键修改IP多实例的更多相关文章
- Win7+xp命令行 一键修改IP、DNS
这里提供了一个简便方法:(该方法为Win7下的,XP下的见最后一行) 第一步:新建一个txt文件 第二步:在文件中添加如下内容: netsh interface ip set address name ...
- KingbaseES R3 集群一键修改集群用户密码案例
案例说明: 在KingbaseES R3集群的最新版本中增加了kingbase_monitor.sh一键修改集群用户密码的功能,本案例是对此功能的测试. kingbaseES R3集群一键修改密码说明 ...
- KingbaseES R6 集群sys_monitor.sh change_password一键修改集群用户密码
案例说明: kingbaseES R6集群用户密码修改,需要修改两处: 1)修改数据库用户密码(alter user): 2)修改.encpwd文件中用户密码: 可以通过sys_monitor.sh ...
- linux修改IP
linux命令行修改IP的2个方法 2010-12-30 10:25:50 分类: LINUX 方式一: ifconfig eth0 192.168.1.18 netmask 255.255.255 ...
- CentOS(RedHat)命令行永久修改IP地址、网关、DNS
1.修改IP地址vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0 #网卡名称BOOTPROTO=static #获取ip的方式(stat ...
- windows自动修改ip的bat文件
@echo off title --IP自动设置 -- MODE con: COLS=80 lines=30 color 0a :main cls echo 按提示操作 echo. echo 设置为无 ...
- Linux下如何修改ip地址
在Linux的系统下如何才能修改IP信息 以前总是用ifconfig修改,重启后总是得重做.如果修改配置文件,就不用那么麻烦了- A.修改ip地址 即时生效: # ifconfig eth0 192. ...
- CentOS 设置网络(修改IP&修改网关&修改DNS)--update.14.08.15
自己电脑上装的虚拟机用桥接方式连接物理机,虚拟机重启后ip会发生变化,非常阻碍Xshell的连接和hosts指定的dns. 通过修改IP为static模式,保持IP不变. ============== ...
- windows 命令修改IP
修改ip: netsh -c interface ip set address name="本地连接" source=static addr=192.168.11.100 mask ...
- Linux命令行修改IP、网关、DNS的方法
Linux中在命令行中修改IP地址.网关.DNS的方法. 网卡eth0 IP修改为 102.168.0.1 复制代码代码如下: ifconfig eth0 102.168.0.1 netmask ...
随机推荐
- python笔记:第二章基本数据类型
基本数据类型 Python中的数据类型可以分为五大类:字符串.数字.容器.布尔.None 1.字符串 可以使用单引号或双引号创建字符串,可以用加号将两个字符串合并 name = '小明' age = ...
- Java扩展Nginx之一:你好,nginx-clojure
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于Nginx扩展 以欣宸自己为例,对一个java程序 ...
- AI技术在软件测试中的应用和实践
随着人工智能(AI)技术的快速发展,它在各个领域都展现出了巨大的潜力和影响力.在软件测试领域,AI技术也越来越得到重视和应用.本文将探讨AI技术在软件测试中的应用和实践,重点关注chatGPT如何根据 ...
- 给程序员准备的“蜜糍”--SOD框架简介
注:本文是SOD框架源码仓库的首页介绍,原文地址 一.框架介绍 1,SOD框架是什么? 以前有一个著名的国产化妆品"大宝SOD密",SOD框架虽然跟它没有什么关系,但是名字的确受到 ...
- C语言基础-结构体基础
文章目录 前言 1.结构体的创建 1.1 第一种方法 1.2 第二种方法 1.3 全局结构体和局部结构体的声明 2.结构体的使用 2.1 局部结构体的声明 & 初始化 2.1.1 指针方法 2 ...
- VSCode中的快捷键
VS Code中的快捷键 文件和编辑操作 Ctrl+S:保存文件 Ctrl+K S:保存全部文件 Ctrl+C:复制 Ctrl+V:粘贴 Ctrl+X:剪切 Ctrl+F:查找 Ctrl+H:替换 C ...
- quarkus依赖注入之五:拦截器(Interceptor)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<quarkus依赖注入> ...
- 《高级程序员 面试攻略 》RabbitMQ 如何实现可靠性
RabbitMQ 提供了多种机制来实现消息传递的可靠性.下面是一些常见的方法: 1. 持久化消息:RabbitMQ 允许将消息标记为持久化,以确保即使在发生故障或重启后,消息也不会丢失.通过将消息的` ...
- Airtest的iOS实用接口介绍
1. 前言 前段时间Airtest更新了1.3.0.1版本,里面涉及非常多的iOS功能新增和改动,今天想详细跟大家聊一下里面的iOS设备接口. PS:本文示例均使用本地连接的iOS设备,Airtest ...
- Three.js中实现碰撞检测
1. 引言 碰撞检测是三维场景中常见的需求,Three.js是常用的前端三维JavaScript库,本文就如何在Three.js中进行碰撞检测进行记述 主要使用到的方法有: 射线法Raycaster ...