linux 修改网卡名-自动化运维linux

简介: 脚本自动修改网卡名为 eth0
#!/bin/bash
ip=$(ip add | grep -w  "BROADCAST" | awk -F":" 'NR==1{print $2}' | sed s/[[:space:]]//g)
echo "网卡名称为:" $ip
                        # 定义一个变量IP 为:
                        # 查看网卡信息,grep -w 以文档形式匹配单词:flags
                        # awk -F:  指定冒号为分隔符
                        # NR==1得到结果后赛选第一行; {print $1} 打印第一列;
                        # 相当于坐标第一行第一列 :'NR==1 (print$1)'
                        # sed s/[[:space:]]//g 删除所有空格
ifcfg=$(find /etc -name *$ip)
echo "网卡路径为:" $ifcfg
                        # 定义一个变量ifcfg 他的值为另一个另一个变量
                        # find /etc   在etc  目录下去找名字为:
                        # *$ip为模糊匹配:星号是该名字前还有字符
 
named=eth0
                                                # 修改网卡为eth0
sed -i "s/NAME.*/NAME=$named/g" $ifcfg
sed -i "s/DEVICE.*/DEVICE=$named/g" $ifcfg
newifcfg=$(echo $ifcfg | sed 's/ifcfg.*/ifcfg-'$named'/g')
                        # 使用管道修改变量字符串
echo "新网卡名为:" $newifcfg
mv $ifcfg $newifcfg
grub=$(grep -r biosdevname /etc/default | awk -F = '{print $0}')
                            # 定义变量grub 编辑
                            # grep -r 查看字符串为biosdevname,  在路径  
                            # awk -F 分段显示全部
if [[ "$grub" = ""  ]]
then
sed -i 's/crashkernel/crashkernel=auto net.ifnames=0 biosdevname=0/g'  /etc/default/grub
                                                        # 修改
echo "$grub修改后该行内容为:" $grub
else
echo "greb 文件已经修改,无需操作"
fi
                            # 修改
grub2-mkconfig -o /boot/grub2/grub.cfg 
                            # 运行
mac=$(ifconfig | grep -w ether | awk -F" " 'NR==1{print$2}')
                            # 获取 mac 地址:
                            # grep -w 匹配单词,-w 以world 文本方式匹配inet6单词
                            # awk -F指定分隔符符号为空格
                            # NR==1{print $1} 坐标,行号为1行,打印第一列
echo "主网卡mac 地址为:$mac"
touch /etc/udev/rules.d/70-persistent-net.rules 
rules=$(grep -r net /etc/udev/rules.d/70-persistent-net.rules | awk -F = '{print$0}' )
if [[ "$rules"="" ]]
then
echo "
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}==$mac,ATTR{type}=="1" ,KERNEL=="eth*",NAME=$named
" >>/etc/udev/rules.d/70-persistent-net.rules
else
echo "/etc/udev/rules.d/70-persistent-net.rules
配置文件存在,不需要修改
 "
fi
rm -rf 1.sh
echo "网卡名已经修改为:$named ; 即将删除此脚本并重新启动"
reboot
sed -i '/^$/d' 1.sh ; chmod 755 1.sh ; ./1.sh
目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
67 4
|
1月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
54 4
|
5天前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
27天前
|
运维 监控 网络协议
|
10天前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
13天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
35 3
|
19天前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
47 4
|
1月前
|
存储 运维 搜索推荐
|
1月前
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。
|
1月前
|
运维 Prometheus 监控
运维中的自动化实践每月一次的系统维护曾经是许多企业的噩梦。不仅因为停机时间长,更因为手动操作容易出错。然而,随着自动化工具的引入,这一切正在悄然改变。本文将探讨自动化在IT运维中的重要性及其具体应用。
在当今信息技术飞速发展的时代,企业对系统的稳定性和效率要求越来越高。传统的手动运维方式已经无法满足现代企业的需求。自动化技术的引入不仅提高了运维效率,还显著降低了出错风险。本文通过几个实际案例,展示了自动化在IT运维中的具体应用,包括自动化部署、监控告警和故障排除等方面,旨在为读者提供一些实用的参考。