linux配置信息收集脚本,收集linux网络配置信息的shell脚本

此脚本已在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="you@example.com"

chk_root(){

local meid=$(id -u)

if [ $meid -ne 0 ];

then

echo "您必须是root用户才能运行此工具"

exit 999

fi

}

write_header(){

echo "---------------------------------------------------" >> $OUTPUT

echo "$@" >> $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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值