资讯详情

资讯详情

【脚本】 【Linux】启动所有网卡

ifup_ethernets.sh方法一#!/bin/bash# 等待udev设备稳定udevadm settle--timeout5# 遍历启动所有网卡forifacein/sys/class/net/e*;do# 提取网卡名ifaceName$(basename$iface)# 跳过虚拟网卡: loopback, bridge, docker等[[-e/sys/devices/virtual/net/$ifaceName]]continue# 状态检查(避免重复操作)state$(cat/sys/class/net/$ifaceName/operstate2/dev/null)[[$state!down]]continue# 启动网卡echo启动网卡$ifaceName...iplinkset$ifaceNameup2/dev/null||{echo网卡$ifaceName启动失败2}done方法二#!/bin/bash# 等待udev完成设备初始化udevadm settle--timeout2# 获取所有物理网卡interfaces()whileIFSread-rline;dointerfaces($line)done(find/sys/class/net-typel-namee*-printf%f\n)# 遍历启动所有网卡forifacein${interfaces[]};do# 跳过虚拟网卡[[-e/sys/devices/virtual/net/$iface]]continue# 启动物理网卡echoActivating interface:$ifaceiplinkset$ifaceup# 等待网卡实际激活timeout5while[[$timeout-gt0]];dostate$(cat/sys/class/net/$iface/operstate)[[$stateup||$stateunknown]]breaksleep1((timeout--))donedone用法./ifup_ethernets.sh。设置系统开机自启把文件ifup_ethernets.sh放在目录/lib/ifupdown/下chmod x ifup_ethernets.sh赋予可执行权限。创建服务文件/lib/systemd/system/ifup_ethernets.service[Unit]Descriptionifup all ethernetsAftersystemd-udevd.service network-pre.target networking.serviceBeforenetwork.target[Service]TypeoneshotRemainAfterExityesExecStart/lib/ifupdown/ifup_ethernets.shTimeoutStartSec10StandardOutputjournalStandardErrorjournal[Install]WantedBynetwork.target启动服务systemctlenableifup_ethernets systemctl daemon-reload systemctl start ifup_ethernets
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →