рджреВрд░рд╕реНрде рдпреВрдирд┐рдХреНрд╕ рдЬреИрд╕реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдЕрднрд┐рд╡рд╛рджрди, рдкреНрд░рд┐рдп habrachitateliред

рдореИрдВ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЕрдкрдиреЗ рдЫреЛрдЯреЗ рд╕реЗ рдХрд╛рдо рдкрд░ рд▓рд╛рддрд╛ рд╣реВрдВ, рдЬреЛ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, UNIX рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рдпреВрдирд┐рдХреНрд╕ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рдЕрдХреНрд╕рд░ рд╡рд╛рд╕реНрддреБ рд╕рдорд┐рддрд┐ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреА рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд┐рдЪрд╛рд░ "рдпрд╣ рд╕рдм рдЧрдбрд╝рдмрдбрд╝ рд╣реИред"

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд▓рд┐рдирдХреНрд╕ рдпрд╛ рдПрдЖрдИрдПрдХреНрд╕ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рд▓рдЧрднрдЧ рд╕рднреА) рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИ (рд╣рд╛рде рдореЗрдВ рдХреЛрдИ рдЕрдиреНрдп рдпреВрдирд┐рдХреНрд╕ рдкрд░рд┐рд╡рд╛рд░ рдУрдПрд╕ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ)ред

рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ: рд╡рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд┐рд╕рдХреЗ рддрд╣рдд рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреЛ рдкрд╛рд╕рд╡рд░реНрдб (рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬрд┐рд╕ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рдЙрд╕реА рддрд░рд╣, рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдпрд╣ рд▓рд┐рдирдХреНрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) рдФрд░ рдмрд┐рдирд╛ рд░реВрдЯ рд╕реЗ рд╕рднреА рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред sudoers рдлрд╝рд╛рдЗрд▓ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ LDAP рдореЗрдВ, рд╕рднреА рдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╣реИрдВ) рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП
!requiretty 

рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде sshaskpass.sh рдирд╛рдордХ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 #!/bin/bash if [ -n "$SSH_ASKPASS_TMPFILE" ]; then cat "$SSH_ASKPASS_TMPFILE" exit 0 elif [ $# -lt 1 ]; then echo "Usage: echo password | $0 <ssh command line options>" >&2 exit 1 fi sighandler() { rm "$TMP_PWD" } TMP_PWD=$(mktemp) chmod 600 "$TMP_PWD" trap 'sighandler' SIGHUP SIGINT SIGQUIT SIGABRT SIGKILL SIGALRM SIGTERM export SSH_ASKPASS=$0 export SSH_ASKPASS_TMPFILE=$TMP_PWD [ "$DISPLAY" ] || export DISPLAY=dummydisplay:0 read password echo $password >> "$TMP_PWD" # use setsid to detach from tty exec setsid "$@" rm "$TMP_PWD" 

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдЕрдкрдиреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддреЗ рд╣реИрдВ (chmod + x sshaskpass.sh)ред

рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣рдо рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдпреВрдирд┐рдХреНрд╕_рдЪреЗрдХ рдирд╛рдо рджрд┐рдпрд╛ рд╣реИ, рдЖрдк рдЗрд╕реЗ рдЬреЛ рдЪрд╛рд╣реЗрдВ рдкрд╕рдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 #!/bin/bash if [ ! -z $1 ]; then if ping -c1 -w1 $1 >> /dev/null 2>&1; then export HOSTNAME_NEW=$1 export USER_NAME=_ export pass=_ connect="$PWD/sshaskpass.sh ssh -o StrictHostKeyChecking=no -l $USER_NAME $HOSTNAME_NEW -n" echo "$pass" | $connect exit > /dev/null 2>&1 SYSTYPE=`echo "$pass" | $connect uname -a | awk '{print $1}'` if [ $SYSTYPE = AIX ]; then #AIX section start echo "--------------------------------------------------------------------------------" echo -en "Hostname: \t\t" echo "$pass" | $connect hostname -s echo -en "Domain: \t\t" echo "$pass" | $connect cat /etc/resolv.conf | grep domain | grep -v "#" | awk '{print $2}' echo -en "Uptime: \t\t" echo "$pass" | $connect sudo uptime | awk -F, '{print $1}' | awk '{print $3" "$4}' echo -en "Load average: \t\t" echo "$pass" | $connect sudo uptime | awk -F: '{print $NF}' | cut -c2- | awk -F, '{print $1$2$3}' cpunum(){ for i in `echo "$pass" | $connect lsdev | grep proc | grep Available | awk '{print $1}'`; do echo $i ; done } CPU=`cpunum` ch(){ for i in $CPU; do PROC1=`echo "$pass" | $connect lsattr -El $i | grep type | awk '{printf "%s", $2" "}'` PROC2=`echo "$pass" | $connect lsattr -El $i | grep frequency | awk '{print $2/1000000000 }' | awk '{printf("%.2f\n", $1)}'` echo -e "$PROC1 $PROC2" done } echo -en "Procs: \t\t\t" ch | cat -n | tail -1 | awk '{print $1"x"$2" "$3$4" GHz"}' echo -en "Cores per CPU: \t\t" echo "$pass" | $connect lsattr -El proc0 | grep smt_threads | awk '{print $2}' ips(){ IFCONFIG=`echo "$pass" | $connect ifconfig -a | grep inet | grep -v inet6 | grep -v 127.0.0.1 | awk '{print $2}'` for i in $IFCONFIG; do echo -en "IP: \t\t\t" echo $i done } ips macs(){ LSMACS=`echo "$pass" | $connect lsdev -Cc adapter | grep ent | grep -v EtherChannel | grep -v VLAN | grep -v Client | awk '{print $1}'` for i in $LSMACS; do echo -en "MAC: \t\t\t" echo "$pass" | $connect lscfg -vpl $i | grep Network | awk -F. '{print $14}' | sed 's/.\{2\}/&:/g' | rev | cut -c2- | rev done } macs echo -en "Mem: \t\t\t" echo "$pass" | $connect lsattr -El mem0 | grep goodsize | awk '{printf "%s", $2/1024 " Gigabytes"}' | sed -e 's/,/./' echo -e "" echo -en "Swap space:\t\t" echo "$pass" | $connect lsps -s | sed -e '1d' | awk '{print $1}' | sed 's/\(.*\)../\1/' | awk '{ tot+=$1 } END { printf "%s", tot/1024 }'; echo " Gigabytes" total(){ LSVG=`echo "$pass" | $connect lsvg` for i in $LSVG; do echo "$pass" | $connect lsvg $i | grep "TOTAL PPs" | awk '{print $7}' | sed -e 's/.//' done } echo -en "Total in VGs:\t\t" total | awk '{ tot+=$1 } END { printf "%s", tot/1024 " Gigabytes"}' | sed 's/,/./' used(){ LSVG=`echo "$pass" | $connect lsvg` for i in $LSVG; do echo "$pass" | $connect lsvg $i | grep "USED PPs" | awk '{print $6}' | sed -e 's/.//' done } echo -e "" echo -en "Used in VGs:\t\t" used | awk '{ tot+=$1 } END { printf "%s", tot/1024 " Gigabytes"}' | sed 's/,/./' free(){ LSVG=`echo "$pass" | $connect lsvg` for i in $LSVG; do echo "$pass" | $connect lsvg $i | grep "FREE PPs" | awk '{print $7}' | sed -e 's/.//' done } echo -e "" echo -en "Free in VGs:\t\t" free | awk '{ tot+=$1 } END { printf "%s", tot/1024 " Gigabytes"}' | sed 's/,/./' echo -e "" echo -en "Total in FS: \t\t" TOT1=`echo "$pass" | $connect lsfs | sed -e '1d' | grep -v "proc" | grep -v "itsm" | grep -v "jfs2 --" | awk '{print $1}'` for i in $TOT1; do echo "$pass" | $connect df -P -m $i | sed -e '1d' ; done | awk ' !x[$0]++' | awk '{print $2}' | awk '{ tot+=$1} END { print tot/1024 " Gigabytes"}' | sed -e 's/,/./' echo -en "Used in FS: \t\t" USED1=`echo "$pass" | $connect lsfs | sed -e '1d' | grep -v "proc" | grep -v "itsm" | grep -v "jfs2 --" | awk '{print $1}'` for i in $USED1; do echo "$pass" | $connect df -P -m $i | sed -e '1d' ; done | awk ' !x[$0]++' | awk '{print $3}' | awk '{ tot+=$1} END { print tot/1024 " Gigabytes"}' | sed -e 's/,/./' echo -en "Free in FS: \t\t" FREE1=`echo "$pass" | $connect lsfs | sed -e '1d' | grep -v "proc" | grep -v "itsm" | grep -v "jfs2 --" | awk '{print $1}'` for i in $FREE1; do echo "$pass" | $connect df -P -m $i | sed -e '1d' ; done | awk ' !x[$0]++' | awk '{print $4}' | awk '{ tot+=$1} END { print tot/1024 " Gigabytes"}' | sed -e 's/,/./' asm(){ RHDS=`echo "$pass" | $connect ls -la /dev/ | grep oracle | grep rhdisk | awk '{print $NF}'` for i in $RHDS; do echo "$pass" | $connect getconf DISK_SIZE /dev/$i done } echo -en "ASM space:\t\t" asm | awk '{tot+=$1} END {printf "%s", tot/1024 " Gigabytes"}' | sed 's/,/./' echo -e "" wwns(){ LSWWNS=`echo "$pass" | $connect lsdev -Cc adapter | grep -v Defined | grep fcs | awk '{print $1}'` for i in $LSWWNS; do echo -en "WWN: \t\t\t" echo "$pass" | $connect lscfg -vpl $i | grep Network | awk -F. '{print $14}' | sed 's/.\{2\}/&:/g' | rev | cut -c2- | rev done } wwns FGET=`echo "$pass" | $connect sudo mpio_get_config -Av 2>&1 | grep "Storage Subsystem Name" | awk -F= '{print $2}' | cut -c3- | rev | cut -c2- | rev` MGET=`echo "$pass" | $connect sudo fget_config -Av 2>&1 | grep "array name" | awk -F= '{print $2}' | cut -c3- | rev | cut -c2- | rev` HDLM=`echo "$pass" | $connect sudo /usr/DynamicLinkManager/bin/dlnkmgr 2>&1 view -lu | grep "SerialNumber" | awk -F: '{print $2}' | cut -c2-` for i in $FGET; do echo -en "Storage: \t\t" echo $i done for i in $MGET; do echo -en "Storage: \t\t" echo $i done for i in $HDLM; do echo -en "Storage: \t\t" echo VSP $i done echo -en "Oslevel:\t\tAIX " echo "$pass" | $connect oslevel -s echo -en "Architecture:\t\t" echo "$pass" | $connect uname -p | tr -d '\n' echo "$pass" | $connect ls -la /unix | awk '{print $NF}' | awk -F / '{print " " $NF}' | sed 's/_/\ /g' # CHECK!!!! echo -en "M/T:\t\t\t" echo "$pass" | $connect lsattr -El sys0 | grep modelname | awk '{print $2}' | cut -c5- echo -en "Serial Num:\t\t" echo "$pass" | $connect lsattr -El sys0 | grep systemid | awk '{print $2}' | cut -c7- echo "--------------------------------------------------------------------------------" sudo rm -f /tmp/tmp.* #AIX section end elif [ $SYSTYPE = Linux ]; then #Linux section start MANUF=`echo "$pass" | $connect sudo /usr/sbin/dmidecode -t system | grep Manufacturer | awk '{ print $2 }'` CPUMANUF=`echo "$pass" | $connect sudo cat /proc/cpuinfo | grep "vendor_id" | uniq | awk '{print $3}'` echo "--------------------------------------------------------------------------------" echo -en "Hostname: \t\t" echo "$pass" | $connect hostname -s echo -en "Domain: \t\t" echo "$pass" | $connect hostname -d echo -en "Uptime: \t\t" echo "$pass" | $connect sudo uptime | awk -F, '{print $1}' | awk '{print $3" "$4}' echo -en "Load average: \t\t" echo "$pass" | $connect sudo uptime | awk -F: '{print $NF}' | cut -c2- | sed -e 's/,/./g' | awk -F. '{print $1"."$2$3"."$4$5"."$6}' echo -en "Procs: \t\t\t" if [ "$MANUF" = "VMware," ]; then CPUS=`echo "$pass" | $connect sudo cat /proc/cpuinfo | grep "processor" | sort | uniq | wc -l` MODEL=`echo "$pass" | $connect sudo cat /proc/cpuinfo | grep "model name" | tail -1 | cut -c14-` if [ "$CPUMANUF" = "AuthenticAMD" ]; then SPEED=`echo "$pass" | $connect sudo /usr/sbin/dmidecode | grep "Current Speed" | head -n 1 | awk '{printf "%s", $3/1000}'` echo $CPUS $MODEL $SPEED GHz else echo $CPUS $MODEL fi CORES=`echo "$pass" | $connect sudo cat /proc/cpuinfo | grep processor | wc -l` echo -en "Cores per CPU: \t\t" echo $(( $CORES / $CPUS )) else CPUS=`echo "$pass" | $connect sudo cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l` MODEL=`echo "$pass" | $connect sudo cat /proc/cpuinfo | grep "model name" | tail -1 | cut -c14-` if [ "$CPUMANUF" = "AuthenticAMD" ]; then SPEED=`echo "$pass" | $connect sudo /usr/sbin/dmidecode | grep "Current Speed" | head -n 1 | awk '{printf "%s", $3/1000}'` echo $CPUS $MODEL $SPEED GHz else echo $CPUS $MODEL fi CORES=`echo "$pass" | $connect sudo cat /proc/cpuinfo | grep "cpu cores" | sort | uniq | awk '{print $4}'` echo -e "Cores per CPU: \t\t""$CORES" fi ips(){ IFCONFIG=`echo "$pass" | $connect sudo /sbin/ip addr | grep inet | grep -v inet6 | grep -w -v lo | awk '{print $2}'` for i in $IFCONFIG; do echo -en "IP: \t\t\t" echo $i done } ips if [ "$MANUF" = "HP" ]; then if echo "$pass" | $connect sudo rpm -aq | grep hponcfg > /dev/null; then echo "$pass" | $connect sudo /sbin/hponcfg -w /tmp/ilo > /dev/null 2>&1 ILOIP=`echo "$pass" | $connect sudo /bin/cat /tmp/ilo | grep "<IP_ADDRESS VALUE" | awk -F= '{print $2}' | cut -c3- | rev | cut -c4- | rev` echo "$pass" | $connect sudo /bin/rm /tmp/ilo else echo "$pass" | $connect sudo /bin/mkdir /tools > /dev/null 2>&1 echo "$pass" | $connect sudo /bin/mount naiad:/tools /tools echo "$pass" | $connect sudo /bin/rpm -ivh /tools/Software/hp/hponcfg-3.1.0-0.noarch.rpm > /dev/null 2>&1 echo "$pass" | $connect sudo /bin/umount /tools echo "$pass" | $connect sudo /sbin/hponcfg -w /tmp/ilo > /dev/null 2>&1 ILOIP=`echo "$pass" | $connect sudo /bin/cat /tmp/ilo | grep "<IP_ADDRESS VALUE" | awk -F= '{print $2}' | cut -c3- | rev | cut -c4- | rev` echo "$pass" | $connect sudo /bin/rm /tmp/ilo fi if ! echo "$pass" | $connect sudo rpm -aq | grep hpacucli > /dev/null; then echo "$pass" | $connect sudo /bin/mkdir /tools > /dev/null 2>&1 echo "$pass" | $connect sudo /bin/mount naiad:/tools /tools > /dev/null 2>&1 echo "$pass" | $connect sudo /usr/bin/yum install -y /tools/Software/hp/hpacucli-9.40-12.0.i386.rpm > /dev/null 2>&1 echo "$pass" | $connect sudo /bin/umount /tools > /dev/null 2>&1 fi echo -en "ILO IP: \t\t" echo $ILOIP fi macs(){ IFCONFIGM=`echo "$pass" | $connect sudo /sbin/ifconfig | grep HWaddr | awk '{print $5}' | uniq` for i in $IFCONFIGM; do echo -en "MAC: \t\t\t" echo $i done } macs echo -en "Mem: \t\t\t" echo "$pass" | $connect sudo /usr/sbin/dmidecode --type memory | grep Size | grep -v No | awk '{print $2}' | awk '{ tot+=$1 } END { printf "%s", tot/1024 }' echo -e " Gigabytes" echo -en "Swap space:\t\t" echo "$pass" | $connect cat /proc/swaps | sed -e '1d' | awk '{print $3}' | awk '{ tot+=$1 } END { printf "%s", tot/1024 }' | awk '{ tot+=$1 } END { printf "%s", tot/1024 }' | awk '{printf("%.2f\n", $1)}' | awk '{print $1 " Gigabytes"}' | sed -e 's/,/./' | sed "s/\.[00][0-9]*//g" echo -en "Total space: \t\t" echo "$pass" | $connect sudo df -m -l -P | grep -v "none" | grep -v "sda1" | grep -v "tmpfs" | sed -e '1d' | awk '{ print $2 }' | awk '{ tot+=$1} END { print tot/1024 " Gigabytes"}' echo -en "Used space: \t\t" echo "$pass" | $connect sudo df -m -l -P | grep -v "none" | grep -v "sda1" | grep -v "tmpfs" | sed -e '1d' | awk '{ print $3 }' | awk '{ tot+=$1} END { print tot/1024 " Gigabytes"}' echo -en "Free space: \t\t" echo "$pass" | $connect sudo df -m -l -P | grep -v "none" | grep -v "sda1" | grep -v "tmpfs" | sed -e '1d' | awk '{ print $4 }' | awk '{ tot+=$1} END { print tot/1024 " Gigabytes"}' if echo "$pass" | $connect rpm -aq | grep asm > /dev/null 2>&1; then nums(){ NUMS0=`echo "$pass" | $connect sudo ls -la /dev/oracleasm/disks/ 2> /dev/null | grep oracle | awk '{print $5" "$6}' | sed 's/,//g' | sed 's/ /@/g'` for i in $NUMS0; do echo $i done } nums > /tmp/asmnums drvs(){ NUMS1=`cat /tmp/asmnums` for i in $NUMS1; do DEVS=`echo "$pass" | $connect cat /proc/partitions | sed 's/ */\ /g' | sed 's/ /@/g' | grep $i | sed 's/@/ /g' | awk '{print $NF}'` echo $DEVS done } drvs > /tmp/asmdrvs echo -en "ASM space: \t\t" asm(){ BLOCK=`cat /tmp/asmdrvs` for s in $BLOCK; do echo "$pass" | $connect sudo cat /proc/partitions | sed 's/ */\ /g' | sed 's/ /@/g' | grep $s | sed 's/@/ /g' | awk '{print $3}'; done } asm | awk '{ tot+=$1 } END { print tot/1048576 " Gigabytes"}'; sudo rm -f /tmp/asmdrvs sudo rm -f /tmp/asmnums else echo -e "ASM space: \t\t0 Gigabytes" fi wwns(){ LSWWNS=`echo "$pass" | $connect sudo /usr/bin/systool -c fc_host -v 2> /dev/null | grep port_name | awk -F= '{print $2}' | cut -c5- | rev | cut -c2- | rev | sed 's/.\{2\}/&:/g' | rev | cut -c2- | rev` for i in $LSWWNS; do echo -en "WWN: \t\t\t" echo $i done } wwns if echo "$pass" | $connect sudo ls /usr/sbin/mppUtil > /dev/null 2>&1 /dev/null; then RDAC=`echo "$pass" | $connect sudo /usr/sbin/mppUtil -a 2>/dev/null | grep FC | awk '{print $NF}'` for i in $RDAC; do echo -en "Storage: \t\t" echo $i done fi echo -en "Oslevel: \t\t" if echo "$pass" | $connect sudo ls /etc/redhat-release > /dev/null 2>&1; then echo "$pass" | $connect cat /etc/redhat-release elif echo "$pass" | $connect sudo ls /etc/SuSE-release > /dev/null 2>&1; then echo "$pass" | $connect cat /etc/SuSE-release | head -1 elif echo "$pass" | $connect sudo ls /etc/gentoo-release > /dev/null 2>&1; then echo "$pass" | $connect cat /etc/gentoo-release elif echo "$pass" | $connect sudo ls /etc/debian_version > /dev/null 2>&1; then echo "$pass" | $connect cat /etc/os-release | grep PRETTY | awk -F= '{print $2}' | cut -c2- | rev | cut -c2- | rev fi echo -en "Kernel ver: \t\t" echo "$pass" | $connect uname -r echo -en "Architecture: \t\t" echo "$pass" | $connect uname -a | awk '{print $12}' echo -en "Manufacturer: \t\t" if [ "$MANUF" = "VMware," ]; then echo "Vmware" else echo "$MANUF" fi echo -en "Model: \t\t\t" echo "$pass" | $connect sudo /usr/sbin/dmidecode -t system | grep "Product Name" | cut -c16- echo -en "Serial Num: \t\t" echo "$pass" | $connect sudo /usr/sbin/dmidecode -t system | grep "Serial Number" | cut -c17- if [ "$MANUF" = "HP" ]; then HDDFAIL=`echo "$pass" | $connect sudo /usr/sbin/hpacucli ctrl all show config | grep "physicaldrive" | grep -v OK | cut -c7-` if [ ! -z "$HDDFAIL" ]; then echo -e "HDD Error: \t\t"$HDDFAIL fi fi echo "--------------------------------------------------------------------------------" sudo rm -f /tmp/tmp.* #Linux section end elif [ $SYSTYPE = FreeBSD ]; then #FreeBSD section start echo "FreeBSD" #FreeBSD section end elif [ $SYSTYPE = SunOS ]; then #Solaris section start echo "Solaris" #Solaris section end elif [ $SYSTYPE = HP-UX ]; then #HP-UX section start echo "HP-UX" #HP-UX section end fi else echo "unknown host $1" fi else echo "hostname or ip must be specified (Unix_check hostname/ip)" fi 

рддрджрдиреБрд╕рд╛рд░, рд╣рдо рдЙрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рднреА рджреЗрддреЗ рд╣реИрдВред

рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЪрд▓рд╛рдПрдВ: ./nix_check рд╣реЛрд╕реНрдЯрдирд╛рдо
AIX рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг:

 -------------------------------------------------------------------------------- Hostname: tsm Domain: xxxxxxx.xxxxx.ua Uptime: 30 days Load average: 0.00 0.00 0.02 Procs: 2xPowerPC_POWER5 2.10 GHz Cores per CPU: 2 IP: 172.17.xx.xx MAC: 00:14:5E:97:xx:xx MAC: 00:14:5E:97:xx:xx Mem: 7.75 Gigabytes Swap space: 5 Gigabytes Total in VGs: 1252.5 Gigabytes Used in VGs: 562.25 Gigabytes Free in VGs: 690.25 Gigabytes Total in FS: 527.375 Gigabytes Used in FS: 461.424 Gigabytes Free in FS: 65.9507 Gigabytes ASM space: 0 Gigabytes WWN: 10:00:00:00:C9:4F:xx:xx WWN: 10:00:00:00:C9:4F:xx:xx Storage: 181470A-78K0xxx-tsm-F Storage: 181470A-78K0xxx-tsm-D Oslevel: AIX 6100-07-03-1207 Architecture: powerpc unix 64 M/T: 9131-52A Serial Num: XXXXXX -------------------------------------------------------------------------------- 

рд▓рд┐рдирдХреНрд╕ рдЙрджрд╛рд╣рд░рдг

 -------------------------------------------------------------------------------- Hostname: dfilendbb01 Domain: xxxx.xxxx.xxx Uptime: 5 days Load average: 0.00 0.02 0.00 Procs: 2 Dual-Core AMD Opteron(tm) Processor 2218 2.6 GHz Cores per CPU: 2 IP: 172.17.xx.xx/xx ILO IP: 172.17.xx.xx MAC: 00:21:5A:49:xx:xx Mem: 8 Gigabytes Swap space: 8 Gigabytes Total space: 71.0547 Gigabytes Used space: 31.0742 Gigabytes Free space: 36.3203 Gigabytes ASM space: 0 Gigabytes WWN: 50:01:43:80:02:9f:xx:xx WWN: 50:01:43:80:02:9f:xx:xx Oslevel: Red Hat Enterprise Linux Server release 5.9 (Tikanga) Kernel ver: 2.6.18-348.3.1.el5 Architecture: x86_64 Manufacturer: HP Model: ProLiant BL465c G1 Serial Num: CZJ8300xxx HDD Error: physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 146 GB, Predictive Failure) -------------------------------------------------------------------------------- 

рдХреБрдЫ рд░рд╛рд╕реНрддреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреИрд╕реЗ HP (hponcfg рдФрд░ hpacucli) рд╕реЗ RHEL рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдмрдврд╝рддреЗ NFS рдмреЙрд▓ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реИрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝реЗ рдЖрдИрдмреАрдПрдо рдбрд┐рд╕реНрдХ рд░реИрдХ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рдФрд░ рджреЗрд╢реА рдорд▓реНрдЯреАрдкрд╛рде рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЖрд░рдбреАрдПрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред AIX рдХреЗ рд▓рд┐рдП, рд╕реАрдзреЗ (VIOS рдФрд░ VSCSI рдХреЗ рдмрд┐рдирд╛) рдЬреБрдбрд╝реЗ рд╣реБрдП рд╕рднреА рд░реИрдХ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдУрд░реЗрдХрд▓ рдПрдПрд╕рдПрдо рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддреЗ рд╕рдордп, AIX LVM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛, рдкреВрд░реЗ HDisk рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рд▓рд┐рдирдХреНрд╕ рдкрд░, Oracle ASM рдбрд┐рд╕реНрдХ рдЖрдХрд╛рд░ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХрдо рд╕реЗ рдХрдо рдореБрдЭреЗ рдбрд┐рд╕реНрдХ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреНрдп рддрд░реАрдХрд╛ рдирд╣реАрдВ рдкрддрд╛ рд╣реИред

рдПрдЪрдкреА рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд┐рд╕реНрдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд RAID рдПрдбреЗрдкреНрдЯрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИред

рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА рдпрджрд┐ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рд╕рд╛рде рд╣реА, рдореИрдВ рдореБрдЭреЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рд╕реА рднреА рдЖрд▓реЛрдЪрдирд╛ рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред
рдкреАрдПрд╕ рдЕрдЯреНрд░реИрдХреНрдЯрд┐рд╡ рдкрд╛рдардХ рдлреНрд░реАрдмреАрдПрд╕рдбреА, рд╕реЛрд▓рд╛рд░рд┐рд╕, рдПрдЪрдкреА-рдпреВрдПрдХреНрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореБрдЦреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЕрдВрдд рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ, рдпреЗ рдЦрдВрдб рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛, рдпреЗ рдУрдПрд╕ рд╣рд╛рде рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рдпрджрд┐ рд╕рдореНрдорд╛рдирд┐рдд рд╕рдореБрджрд╛рдп рдореБрдЭреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рд╕рд┐рд╕реНрдЯрдо рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкреВрд░рдХ рдХрд░реВрдВрдЧрд╛ред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

Source: https://habr.com/ru/post/In175899/


All Articles