此脚本已在CentOS/ RHEL和Fedora Linux操作系统下进行测试过。
可用于当前网络配置信息。
代码:
#!/bin/bash # HWINF=/usr/sbin/hwinfo IFCFG=/sbin/ifconfig IP4FW=/sbin/iptables IP6FW=/sbin/ip6tables LSPCI=/sbin/lspci ROUTE=/sbin/route NETSTAT=/bin/netstat LSB=/usr/bin/lsb_release ## files ## DNSCLIENT="/etc/resolv.conf" DRVCONF="/etc/modprobe.conf" NETALIASCFC="/etc/sysconfig/network-scripts/ifcfg-eth?-range?" NETCFC="/etc/sysconfig/network-scripts/ifcfg-eth?" NETSTATICROUTECFC="/etc/sysconfig/network-scripts/route-eth?" SYSCTL="/etc/sysctl.conf" ## Output file ## OUTPUT="network.$(date +‘%d-%m-%y‘).info.txt" ## Email info to?? ## SUPPORT_ID="[email protected]" chk_root(){ local meid=$(id -u) if [ $meid -ne 0 ]; then echo "您必须是root用户才能运行此工具" exit 999 fi } write_header(){ echo "---------------------------------------------------" >> $OUTPUT echo "[email protected]" >> $OUTPUT echo "---------------------------------------------------" >> $OUTPUT } dump_info(){ echo "* Hostname: $(hostname)" >$OUTPUT echo "* Run date and time: $(date)" >>$OUTPUT write_header "Linux Distro" echo "Linux kernel: $(uname -mrs)" >>$OUTPUT $LSB -a >> $OUTPUT [ -x ${HWINF} ] && write_header "${HWINF} --network_ctrl" [ -x ${HWINF} ] && ${HWINF} --network_ctrl >> $OUTPUT [ -x ${HWINF} ] && write_header "${HWINF} --isapnp" [ -x ${HWINF} ] && ${HWINF} --isapnp >> $OUTPUT write_header "PCI Devices" ${LSPCI} -v >> $OUTPUT write_header "$IFCFG Output" $IFCFG >> $OUTPUT write_header "Kernel Routing Table" $ROUTE -n >> $OUTPUT write_header "网卡驱动程序的配置 $DRVCONF" [ -f $DRVCONF ] && grep eth $DRVCONF >> $OUTPUT || echo "Error $DRVCONF file not found." >> $OUTPUT write_header "DNS $DNSCLIENT 配置信息" [ -f $DNSCLIENT ] && cat $DNSCLIENT >> $OUTPUT || echo "Error $DNSCLIENT file not found." >> $OUTPUT write_header "网络配置文件信息" for f in $NETCFC do if [ -f $f ] then echo "** $f **" >> $OUTPUT cat $f >> $OUTPUT else echo "Error $f not found." >> $OUTPUT fi done write_header "Network Aliase File" for f in $NETALIASCFC do if [ -f $f ] then echo "** $f **" >> $OUTPUT cat $f >> $OUTPUT else echo "Error $f not found." >> $OUTPUT fi done write_header "网络静态路由配置" for f in $NETSTATICROUTECFC do if [ -f $f ] then echo "** $f **" >> $OUTPUT cat $f >> $OUTPUT else echo "Error $f not found." >> $OUTPUT fi done write_header "IP4防火墙配置" $IP4FW -L -n >> $OUTPUT write_header "IP6防火墙配置" $IP6FW -L -n >> $OUTPUT write_header "网络状态" $NETSTAT -s >> $OUTPUT write_header "Network Tweaks via $SYSCTL" [ -f $SYSCTL ] && cat $SYSCTL >> $OUTPUT || echo "Error $SYSCTL not found." >>$OUTPUT echo "网络配置信息被写入文件: $OUTPUT. 请发邮件到: $SUPPORT_ID." } chk_root dump_info
时间: 2024-10-18 22:09:33