用sed命令实现修改主机名,网关配置ip,

1.创建今天日期为文件名的文件夹

mkdir -p /data/sh/`date +%F`

 自动配置服务器ip脚本

#!/bin/bash
#2024年9月3日15点41分
#auto change ip address自动修改ip
#by author www.xin.net
##########################################
#cd切换至网卡配置文件目录:
ETH_GW="192.168.45.129"
ETH_DNS="114.114.114.114"
ETH_NAME="ifcfg-ens33"
ETH_IP="$1"
ETH_MASK="255.255.255.0"
ETH_BAK="/data/backup/`date +%F`"
ETH_DIR="/etc/sysconfig/network-scripts"
if [ $# -eq 0 ];then
	echo -e "\033[32m-------------\033[0m"
	echo -e "\033[32mUsage:{/bin/sh $0 1.1.1.1|help}\033[0m"
	exit 1
fi
cd $ETH_DIR
#判断备份文件夹是否存在,如果不存在则创建文件夹
if [ ! -d $ETH_BAK ];then
	mkdir -p $ETH_BAK
fi
#备份网卡配置文件
\cp $ETH_NAME $ETH_BAK
#检测网卡是否为dhcp动态模式 >>/dev/null可以屏蔽显示结果
grep -aiE "dhcp" $ETH_NAME >>/dev/null
if [ $? -eq 0 ];then
	sed -i 's/dhcp/static/g' $ETH_NAME
	sed -i `s/ONBOOT=no/ONBOOT=yes/g` $ETH_NAME
	cat>>$ETH_NAME <<-EOF
	IPADDR=$ETH_IP
	NETMASK=$ETH_MASK
	GATEWAY=$ETH_GW
	DNS1=$ETH_DNS
	EOF
	cat $ETH_NAME
	#重启网卡服务
	systemctl restart NetworkManager.service
	#唤醒网卡配置
	ifup $ETH_NAME
else
	#如果已经时dhcp则直接替换ip
	sed -i '/IPADDR/d' $ETH_NAME
	echo "IPADDR=$ETH_IP" >>$ETH_NAME
	cat $ETH_NAME
	systemctl restart NetworkManager.service
	ifup $ETH_NAME
fi
#修改机器主机名:
HOST_NAME=$(echo $(echo $ETH_IP|sed 's/\./-/g').xin1.net)
hostnamectl set-hostname $HOST_NAME
grep -aiE "$ETH_IP" /etc/hosts >>/dev/null
if [ $? -ne 0 ];then
        echo "$ETH_IP $HOST_NAME" >>/etc/hosts
        cat /etc/hosts
fi


 修改完主机名后,可用su命令,即可加载为命令头显示

用以下命令修改主机名

修改后编辑hosts文件,解析名字,将名字与ip绑定,即可ping通名字

 ping -4xinlinux显示的时ipv4,否则显示为ipv6

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值