`
Fangrn
  • 浏览: 814266 次
  • 性别: 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常用的系统监控shell脚本

    下面将详细解析几个典型的Linux系统监控Shell脚本,涵盖网络流量监控、CPU与内存使用情况、磁盘空间警告及系统统计信息捕获等关键领域。 #### 网络流量监控脚本 该脚本通过循环读取`eth0`网卡的接收和发送数据包...

    linux-ConfigLinux配置Linux服务器的自动化脚本

    在IT行业中,Linux服务器的管理和配置是至关重要的任务,尤其对于大型系统而言,手动操作不仅耗时,而且容易出错。"Linux-ConfigLinux配置Linux服务器的自动化脚本"提供了实现这一目标的有效工具,旨在通过脚本化的...

    linux日常巡检脚本

    在IT运维领域,Linux系统的...总之,Linux日常巡检脚本是运维工作中的重要工具,它能帮助我们及时发现和解决系统问题,保障服务的稳定性和安全性。通过不断优化和调整巡检脚本,我们可以更有效地管理和维护Linux系统。

    vtstscripts.tgz 脚本资源下载linux

    【vtstscripts.tgz 脚本资源下载Linux】是一个针对Linux系统的脚本资源包,主要服务于Linux运维人员和服务器管理人员。这个压缩包文件包含了多个用于系统管理、自动化任务执行和故障排查的脚本,旨在提升Linux环境的...

    linux上脚本安装

    - 设置脚本可执行:`chmod +x /etc/cron.d/file_sync.sh` - 添加定时任务:`crontab -e`,在编辑器中添加一行(假设每5分钟同步一次): ``` */5 * * * * /etc/cron.d/file_sync.sh ``` 以上就是在Linux环境下...

    几个常用的Linux操作系统监控脚本.doc

    以下是一些常用的Linux监控脚本,它们可以帮助你跟踪和分析系统的关键指标: 1. **网络流量监控脚本**: 这个脚本用于实时监控主机的网卡流量。通过`ifconfig`命令获取eth0接口的接收(RX)和发送(TX)数据,计算...

    linux常用脚本

    本文将详细介绍几个常见的Linux脚本,它们可以帮助你实现对主机的全面监控,包括网络流量、系统状态、磁盘空间、CPU和内存的使用情况。这些脚本可以根据个人需求进行定制,以达到更精细化的监控效果。 1. 主机网卡...

    linux-一个linux信息搜集小脚本主要用于应急响应

    1. **系统信息**:包括操作系统版本、内核版本、主机名、网络配置(如IP地址、网关、DNS设置)等。 2. **用户与权限**:列出所有用户、用户组,以及权限异常的文件或目录,这可能与恶意活动有关。 3. **进程与服务...

    linux-日报周报月报生成脚本

    在IT行业中,自动化任务...通过shell脚本技术,它能够收集和整理git提交历史,生成直观的文本报告,方便团队成员了解项目进度和每个人的工作贡献。对于任何经常需要编写工作汇报的开发者来说,这是一个非常实用的工具。

    Linux_脚本.txt

    从给定的文件信息来看,该文件主要涉及的是Linux shell脚本的基础知识和具体实践案例。下面将根据文件中的描述和部分代码...理解并掌握上述提到的脚本基础知识,是成为一名合格的Linux系统管理员或开发者的重要一步。

    系统运维+zabbix+zabbix客户端+zabbix客户端脚本(linux方向)

    总的来说,这个压缩包提供的资料可以帮助运维人员快速在Linux环境中部署Zabbix客户端,结合自定义脚本,实现自动化安装和配置,进一步优化了系统监控的实施流程。对于那些对Linux运维和Zabbix监控有兴趣的人来说,这...

    Linux常用的系统监控shell脚本.docx

    这个脚本收集系统状态信息,包括CPU利用率(`top`)、内存使用(`free -m`)、硬盘空间(`df -k`)以及网络连接数(`netstat -na`)。所有数据都被写入临时文件,便于后续分析。`grep`用于筛选特定行,`date`用于获取当前...

    Python Linux系统管理与自动化运维

    1. 自动化脚本:Python可以编写简洁的脚本来执行常见的系统管理任务,如文件操作、用户管理、网络配置等,大大提高了效率。 2. 安装与卸载软件:Python的`subprocess`模块可以调用shell命令,实现软件的安装(如`...

    Linux巡检脚本,方便、快捷、安全

    该巡检脚本通过简洁有效的命令组合实现了Linux系统基本配置、资源使用情况以及初步网络监测等功能,对于日常运维工作具有较高的实用价值。通过持续改进和完善,可以使脚本更加符合实际需求,进一步提升运维工作的...

    shell脚本实现linux系统文件完整性检测

    ### Shell脚本实现Linux系统文件完整性检测 #### 概述 在网络安全日益受到重视的背景下,确保系统的安全性变得尤为重要。其中一项重要的措施是通过检查关键文件的完整性来防止恶意篡改或病毒攻击。本文将详细介绍...

    网络工程师考试必备-Linux各种服务器配置祥解

    在准备网络工程师考试的过程中,掌握Linux服务器的配置是至关重要的。Linux作为一种稳定、高效且开源的操作系统,广泛应用于各类服务器环境中。本资料详尽解析了Linux服务器的各种配置,旨在帮助考生深入了解并熟练...

    loadrunner 监测linux系统图文详解

    这通常涉及到编译源码、配置环境变量、设置启动脚本等工作,确保守护线程随系统启动自动运行。 6. **Xmanager向Linux中传输文件方法** 使用Xmanager的Xfile功能进行文件传输,首先要启动Xshell并建立与Linux服务器...

    linux启动脚本完全分析

    总结起来,`rc.sysinit`脚本是Linux启动过程中的核心部分,它负责完成系统初始化的关键任务,包括但不限于日志记录、主机名设置、网络配置、以及挂载虚拟文件系统。理解这个脚本的工作机制对于系统管理员来说至关...

Global site tag (gtag.js) - Google Analytics