`
Fangrn
  • 浏览: 800702 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

收集Linux系统网络配置的脚本

阅读更多

此脚本已经在CentOS/RHEL/Fedora等系统上成功运行。并且应该可以再所有的linux发行版本运行。

#!/bin/bash
# 译者:龙力勤
# 出自懒人运维:http://www.lazysa.com
# A Linux Shell script to collect information on your network configuration.
# -------------------------------------------------------------------------
# Copyright (c) 2003 nixCraft project <http://cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# -------------------------------------------------------------------------
# Last updated: Jun-03-2009
# -------------------------------------------------------------------------
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 "You must be root user to run this tool"
		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 "Network Card Drivers Configuration $DRVCONF"
	[ -f $DRVCONF ] && grep eth $DRVCONF  >> $OUTPUT || echo "Error $DRVCONF file not found."  >> $OUTPUT
 
	write_header "DNS Client $DNSCLIENT Configuration"
	[ -f $DNSCLIENT ] && cat $DNSCLIENT >> $OUTPUT || echo "Error $DNSCLIENT file not found." >> $OUTPUT
 
	write_header "Network Configuration File"
	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 "Network Static Routing Configuration"
	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 Firewall Configuration"
	$IP4FW -L -n >> $OUTPUT
 
	write_header "IP6 Firewall Configuration"
	$IP6FW -L -n  >> $OUTPUT
 
	write_header "Network Stats"
	$NETSTAT -s >> $OUTPUT
 
	write_header "Network Tweaks via $SYSCTL"
	[ -f $SYSCTL ] && cat $SYSCTL >> $OUTPUT || echo "Error $SYSCTL not found." >>$OUTPUT
 
	echo "The Network Configuration Info Written To $OUTPUT. Please email this file to $SUPPORT_ID."
}
 
chk_root
dump_info
 
分享到:
评论

相关推荐

    linux系统巡检脚本

    本脚本是用于rhel centOS 等linux系统巡检使用的脚本,适用于大批量的操作,对操作系统 性能资源 安装软件 网络配置信息 日志信息 硬件信息 主机配置信息的收集,生成文件到/tmp/data/目录下

    Linux 开机(服务、脚本)启动顺序.docx

    是我自己整理的Linux开机配置文档,通过配置脚本文件实现Linux开机服务。搜集了关于一、 Linux 系统运行级别的介绍

    在Linux系统平台上安装Tomcat的总结

    为了更好的网络共享 本人发布的资源一律免费 如有...tomcat自动启动脚本的设置教程(Linux系统jsvc脚本非root) 几种Linux嵌入式开发环境的简单介绍 解决Oracle 9i和Tomcat端口冲突 在Linux系统平台上安装Tomcat的总结

    有用LinuxShellScripts:充分利用Linux系统的脚本

    这些脚本还有助于在30分钟内快速设置新Linux系统(您的时间会有所不同)。 这些脚本按GPL v3许可证的原样提供。 运气好的话,这些工具很快就会广泛使用。 (这些是有用Linux Shell脚本的延续。)

    《铜豌豆 Linux》 是一款基于 Debian 的 Linux 中文桌面操作系统

    《铜豌豆 Linux》操作系统在 Debian 基础上,简化安装步骤,收集整理制作中文常用软件、一键安装脚本,搭建软件源,一次性安装完成常用中文应用,节省大家定制 Debian 的时间,做到“开箱即用”。

    RED HAT LINUX 6大全

    本书全面系统地介绍了Red Hat Linux 6。全书共分为五个部分,包括35章和四个附录。第一部分为Red Hat Linux的介绍和安装;第二部分为服务配置;第三部分为系统管理;第四部分为Linux编程;第五部分为附录。本书内容...

    Linux系统故障诊断与排除--James Kirkland

    14.2 Linux配置造成的登录失败 338 14.2.1 /etc/securetty 338 14.2.2 /etc/nologin 339 14.3 PAM 339 14.3.1 功能 340 14.3.2 优先级 340 14.3.3 模块名 341 14.3.4 参数 341 14.3.5 /etc/pam.d ...

    linux-post-install:收集用于设置Linux的脚本和配置

    Linux安装后 用于设置Linux的脚本和配置的集合。 作者 执照 GPLv2。 有关更多详细信息,请参见。 也可以看看

    刷配置脚本.vbs

    在工作环境中有时候需要可能需要几十台、乃至上百台交换机需要统一相同配置(或存在可以准确表达的规律性变化)、或查看收集性能信息、备份配置等一些列操作。 2、为什么要自己写 在对负责的资源池进行漏洞设备...

    linux自启动设置.txt

    [ 作者: 加入时间:2007-07-19 11:41:06 来自:Linux联盟收集整理 ] 前言 linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。 阅读之前建议先看一下附图。 本文中假设...

    Linum是另一个用Shell脚本编写Linux枚举脚本。-Linux开发

    Linum调用Linux内置命令并查询配置文件和日志文件,以收集有关系统的各种信息。 Linum Linum是另一个用Shell脚本编写Linux枚举脚本。 描述Linum调用Linux内置命令并查询配置文件和日志文件,以收集有关系统的各种...

    银行家算法目六、linux模块加载或内核编译

    项目六、linux网络服务器的配置与管理 设计要求: ①架设samba服务器或ftp服务器。 ②掌握NFS服务器和客户端的安装与配置。 项目七、linux shell程序设计 设计要求: 1.熟练掌握shell的使用,会编写简单的shell程序...

    Red Hat Linux 定制指南.CHM

    26. 收集系统信息 26.1. 系统进程 26.2. 内存用量 26.3. 文件系统 26.4. 硬件 26.5. 其它资料 27. 打印机配置 27.1. 添加本地打印机 27.2. 添加一个 IPP 打印机 27.3. 添加远程 UNIX (LPD) 打印机 27.4. 添加 Samba ...

    linux调度模拟器LinSched.zip

    在 LinSched 使用中,Google 还有助于增强适用于完全公平调度器(Completely Fair Scheduler,CFS)的 Linux,包括当任务间存在很大差异时的带宽设置和负载平衡。 LinSched 是驻留在用户空间中的 Linux 调度器模拟器...

    一个使用 webkit 批量下载谷歌卫星地图的脚本_shell_代码_下载

    该脚本将允许您有效地收集数据以练习图像拼接或其他计算机视觉/图像处理算法。 目前该脚本只能在类Linux环境下运行,必须安装python Qt和webkit,请查看webkit2png模块的先决条件。 使用默认配置,此脚本将下载...

    Metric Collector:一个bash脚本,用于从Linux系统收集指标。-开源

    该脚本已在gnuplot 4.4的GNU / Linux上进行了测试。 为了使脚本正常工作,您必须将变量“ JAVA_HOME”设置为有效的JDK位置。 检查脚本文件中的文档。 收集了以下信息:&gt;&gt;来自vmstat的输出&gt;&gt; netstat tcp状态和已...

    精通UNIX Shell脚本编程(附源代码)

    ● 针对文件系统、页面调度/交换空间、系统负载、应用程序、进程的信息收集与监视活动, 捕获系统配置 ● 打印队列管理,保证打印机正常打印 ● 使用bc工具程序在shell脚本中进行浮点数学运算 本书配套的Web网站...

    beatsaber-linux-goodies:Mod安装脚本和其他东西以在Linux上支持Beat Saber

    该存储库主要用于收集信息,以及用于简化设置的工具的实现。 错误/支持 如果您在Linux上遇到问题,那么改装不和谐会非常友好,如果我的工具有问题,请在此处提出问题。 请不要直接惹恼ModAssistant / mod开发人员...

    cmd操作命令和linux命令大全收集

    net config 显示系统网络设置 net logoff 断开连接的共享 net pause 服务名 暂停某服务 net send ip "文本信息" 向对方发信息 net ver 局域网内正在使用的网络连接类型和信息 net share 查看本地开启的共享 ...

    DeliveryChkLx:收集脚本以验证Linux实例的交付就绪性

    收集脚本以验证Linux实例的交付就绪性 关于提交问题的注释:此存储库已复制到其他位置。 如果发现了问题,则仅接受通过提交的问题。 信息收集 RootChk.sh: 根磁盘的大小/设备节点 根磁盘的分区信息 LVM2 Volume...

Global site tag (gtag.js) - Google Analytics