Quick access to basic Server Information shell scripts
Successively run shell scripts (applicable to centos and debian Series)
Catcheck. sh #! /Bin/bash # ------------------------------------------------ # Date: June152015 # Author: jimmygong # Mail: jimmygong@taomee.com # Function: # Version: 1.0 # apt-get-yinstalldmidecode -- force-yesoryum-kernel # apt-get-yinstallpciutils -- force-yesoryum-yinstallpciutils # apt-get-yinstallcurl -- force-yesoryum-yinstallcurl # reset set -onounsetline = '========================== ========================================================== ======= 'Bluecolor = '\ E [1; 32m' if [['id-U'-ne0] thenecho "sctiptsneedroot" exit0fifunctionos () {manufacturer = $ (dmidecode-ssystem-manufacturer) product = $ (dmidecode-ssystem-product-name) sn = $ (dmidecode-ssystem-serial-number) nu = $ (dmidecode | grep "Height ") kernel = $ (uname-r) if [[-e/etc/debian_version] thenrelease1 = $ (cat/etc/debian_version) echo-e "$ {bluecolor}" OS: "Debian $ {relea Se1} \ n $ {line} "elif [[-e/etc/redhat-release] thenrelease2 = $ (cat/etc/redhat-release) echo-e "$ {bluecolor}" OS: "$ {release2} \ n $ {line}" elseecho "unkownrelease" fiif [[-e/boot/grub/menu. lst] thengrub1 = $ (cat/boot/grub/menu. lst | egrep-v "^ # | ^ $") echo-e "Grub: $ {grub1} \ n $ {line} "elsegrub2 = $ (cat/etc/default/grub | egrep-v" ^ # | ^ $ ") echo-e" Grub: $ {grub2} \ n $ {line} "fiecho-e" Manufacturer :$ {manufacturer} "echo-e" Product :$ {product }" Echo-e "Sn :$ {sn}" echo-e "U :$ {nu} \ n $ {line}"} functioncpu () {mode =$ (getconfLONG_BIT) counts = $ (cat/proc/cpuinfo | grep "physicalid" | sort | uniq-c | wc-l) cores = $ (grep 'cpucores'/proc/cpuinfo | uniq | awk-F: '{print $2}' | sed's/^ [\ t] * // G ') processor = $ (cat/proc/cpuinfo | grep "processor" | wc-l) cpu = $ (grep 'modelname'/proc/cpuinfo | uniq | awk-F: '{print $2}' | sed's/^ [\ t] * // G' | sed's/\ + // G') echo-e "TotalOfPhysicalCpu: $ {counts} "echo-e" Numbe ROfCpuCores :$ {cores} "echo-e" NumberOfCpuProcessor :$ {processor} "echo-e" PresentModeOfCpu: $ {mode} "echo-e" CpuModel: $ {cpu} \ n $ {line} "} functionmem () {swap =$ (cat/proc/meminfo | grepSwapTotal | awk-F: '{print $2}' | awk-F "" '{print $1}') swap =$ (expr $ swap/1024) mem = $ (cat/proc/meminfo | grepMemTotal | awk-F: '{print $2}' | awk-F "" '{print $1 }') memory = $ (dmidecode | grep-i-C5 'memorydevic' | grep-v "NoModuleInstalled" | grep-isize | grep-v "Ra Nge ") memoryslot = $ (dmidecode | grep-i-C5 'memorydevic' | grep" NoModuleInstalled "| wc-l) mem =$ (expr $ mem/1024) remem = $ (free-m | grepcache | awk '/[0-9]/{print $4 "MB"}') echo-e "Memslot: $ {memoryslot} "echo-e" NumberOfMem :$ {memory} "echo-e" TotalOfMem :$ {mem} MB "echo-e" TotalOfSwap: $ {swap} MB "echo-e" RemainMem :$ {remem} \ n $ {line} "} functiondisk () {disk = $ (fdisk-l | grep 'disk' | awk-F, '{print $1}' | sed's/Diskidentifier. * // G' | sed '/^ $/D') d Ftotal = $ (df-h | grep "^/dev" | grep-vFilesystem) dfinode = $ (df-I | grep "^/dev" | grep-vFilesystem) fstab = $ (cat/etc/fstab | egrep-v "^ #" '| media | proc' | awk' {print $1, $2, $3, $4} ') blkid = $ (blkid) echo-e "Disktotal: $ {disk}" echo-e "Dftotal: \ n $ {dftotal} "echo-e" Dfinode: \ n $ {dfinode} "echo-e" Fstab: \ n $ {fstab} "echo-e" Blkid: \ n $ {blkid} \ n $ {line} "} functiontimezone () {if [[-e/etc/timezone] thentimezone1 =$ (cat/etc/timezone) echo-e "Timezone: $ {Timezone1} \ n $ {line} "elsetimezone2 = $ (cat/etc/sysconfig/clock | grep-v" ^ # "| grep-v" ^ $ "| awk -F "=" '{print $2 }') echo-e "Timezone :$ {timezone2} \ n $ {line}" fi} functionnetwork () {hostnamecmd =$ (cat/proc/sys/kernel/hostname) namecmd = $ (cat/etc/resolv. conf | grep "nameserver" | egrep-v "^ # | ^ $") innerip = $ (hostname-I) outerip = $ (curl-sip.cip.cc) echo-e "Innerip: $ {innerip} "echo-e" Outerip: $ {outerip} "echo-e" $ {namecmd} "echo-e" Hostname: $ {Hostnamecmd} \ n $ {line} "} functionipmi () {lsmodipmi = $ (lsmod | grepipmi) if [[$? -Eq0] thenipmi = $ (ipmitoollanprint | grep "IPAddress" | sed's/IPAddressSource. * // G' | sed '/^ $/D') echo-e "Ipmi: $ {ipmi} "fitty = $ (psaux | grep-w" ttyS1 "| grep-vgrep | psaux | grep-w" ttyS0 "| grep-vgrep) if [[$? -Eq0] thenecho-e "TtyS: $ {tty} \ n $ {line}" fi} functionprocessid () {ss-s | head-2net = 'netstat-tpnl | grepLISTEN | awk' {print $4, $7} ''echo-e" Netstattpnl: \ n $ {net} "processnum = 'ss-pl | awk-F: '{print $4}' | awk-F ", "'{print $2}' | sed '/^ $/d' | wc-l' for (I = 1; I <= $ processnum; I ++ )) dopid = 'ss-pl | awk-F: '{print $4}' | awk-F ", "'{print $2}' | sed '/^ $/d' | sed-n $ I 'P' process = 'pmap $ pid | head-n2 'echo-e" process: $ {process} "doneecho-e $ {line} funsw SW Ap () {echo-e "Pid \ tSwap \ tProgame" num = 0forpidin 'LS-1/proc | egrep "^ [0-9]" 'doif [[$ pid-le' 30 '] thencontinuefiprogram = $ (ps-eopid, command | grep-w $ pid | grep-vgrep | awk '{print $2 }') forswapin 'grepswap/proc/$ pid/smaps2>/dev/null | awk' {print $2} ''doletnum = $ num + $ swapdoneecho-e "$ {pid }\ t $ {num} \ t $ {program} "num = 0done | sort-nrk2 | headecho-e $ {line} functionmima () {num = $ (cat/etc/passwd | grep "/bin/bash" | awk-F: '{print $1}' | wc-l) (I = 1; I <= $ num; I ++) douser = $ (cat/etc/passwd | grep "/bin/bash" | awk-F: '{print $1}' | sed-n $ I 'P') effeday = $ (cat/etc/shadow | grep $ user | awk-F: '{print $1, $5}') echo-e "Shadow: $ {effeday} "doneif [[-e/etc/sudoers] thensudoers = $ (cat/etc/sudoers | egrep-v" ^ # | ^ $ ") echo-e "Sudoers :$ {sudoers}" fichag =$ (chage-lroot) echo-e "ChageRoot: \ n $ {chag} \ n $ {line} "} functionlastlogin () {if [[-e/var/log/wtmp] thenlast = $ (last | head-n10) echo-e "Last: \ N $ {last} \ n $ {line} "fi} functionlimit () {limitcmd = $ (cat/etc/security/limits. conf | egrep-v '^ # | ^ $') if [[$? -Eq0] thenecho-e "Limitconf: \ n $ {limitcmd} \ n $ {line}" fi} functiondiskcheck () {if [[-e/usr/local/sbin/MegaCli64] thencmd = "/usr/local/sbin/MegaCli64" raid = '$ cmd-cfgdsply-aALL | grep" RAIDLevel "| tail-1 | awk-F: '{print $1 ":" $2}' 'disknum = '$ cmd-cfgdsply-aALL | grep "NumberOfDrives" | awk-F: '{print $2}' 'onlinedisk = '$ cmd-cfgdsply-aALL | grep-c "Online" 'faileddisk =' $ cmd-AdpAllInfo-aALL-NoLog | awk '/ failedDisks/{print $4} ''criticaldisk = '$ cmd-AdpAllInfo-aALL-NoLog | awk'/CriticalDisks/{print $4}'' case "$ raid" in" RAIDLevel: primary-1, Secondary-0, RAIDLevelQualifier-0 ") echo" RaidLevel: 1 ";" RAIDLevel: Primary-0, Secondary-0, RAIDLevelQualifier-0 ") echo" RaidLevel: 0 ";" RAIDLevel: Primary-5, Secondary-0, RAIDLevelQualifier-3 ") echo" RaidLevel: 5 ";" RAIDLevel: Primary-6, Secondary-0, RAIDLevelQualifier-3 ") echo "RaidLevel: 6"; "RAIDLevel: Primary-1, Secondary-3, RAIDLevelQualifier-0") echo "RaidLevel: 10"; esacecho "TotalDiakNumber: $ disknum "echo" OnlineDiskNumber: $ onlinedisk "echo" FailedDiskNumber: $ faileddisk "echo" CriticalDiskNumber: $ criticaldisk "$ cmd-PDList-aALL | grep" Firmwarestate "echo-e $ {line} fi} functionlocalea () {if [[-e/etc/default/locale] thenlocale1 =$ (cat/etc/default/locale | egrep-v "^#| ^ $ ") echo-e "CurrLocale: $ {locale1} "elif [[-e/etc/sysconfig/i18n] thenlocale2 = $ (cat/etc/sysconfig/i18n | egrep-v" ^ # | ^ $") echo-e "CurrLocale: $ {locale2}" elseecho $ LANGfilocale = 'locale-a | wc-l' echo-e "LocaleNum: $ {locale} \ n $ {line} "} functioncron () {user = $ (psaux | grep-vUSER | awk '{print $1}' | sort-r | uniq) echo-e "RunUser: \ n $ {user} \ n $ {line} "path1 ="/var/spool/cron/crontabs "path2 ="/var/spool/cron "if [-d $ path1] thenforuserin $(ls-1 $ path1) doecho-e "$ user:" crontab-l-u $ userdoneelseforuserin $(ls-1 $ path2) doecho-e "$ user:" crontab-l-u $ userdonefi} others