Re: system documentation script

From: Alexandre Sato (alexandre.sato@BR.ABNAMRO.COM)
Date: Wed May 19 2004 - 15:48:01 EDT


Hi *

I'm just forwarding an old email from this list. This useful shell script
was submited by Spencer Johnson as a follow up to a post by Bill Versal. I
use it with little modifications, but essentially the same one. It might
fits to your needs

#!/bin/ksh
#
# AIX Control Book for rs6000 Server
#
# Knocked together by Spencer Johnson
# Caudwell Distribution Group
#
#

book ()
{

title ()
{
echo
"\n\n___________________________________________________________________________________________"
echo "\n "$TITLE
echo
"\n___________________________________________________________________________________________\n\n"
}

# Set up Variables

lspv | grep vpath >/dev/null 2>&1
if [ $? -ne 0 ];then
        export DISK=hdisk
else
        export DISK=vpath
fi

echo "##############################"
echo "# AIX Control Book Creation #"
echo "##############################\n\n"
date
echo "\n\n\n C O N F I G U R A T I O N S U M M A R Y O U T P
U T\n\n\n"
echo "\n\nHostname: " `/bin/hostname -s`
echo "\n\nTime config_ run: " `/bin/date`

TITLE="PROCESSOR TYPE";title
TYPE=`uname -m|cut -c9-10`
NAME="Risc System/6000 Model ID:"
echo "$NAME $TYPE"

TITLE="LIST OF SYSTEM RESOURCES"; title
lsattr -EHl sys0

TITLE="PHYSICAL / LOGICAL {{ AVAILABLE }} DEVICE DETAILS ";title
lsdev -C | /bin/grep Available

TITLE="PHYSICAL / LOGICAL {{ DEFINED }} DEVICE DETAILS" ;title
lsdev -C |grep Defined|sort +3 -r

TITLE="LIST OF ADAPTERS ON SYSTEM";title
lsdev -Cc adapter

TITLE="HOT-PLUGGABLE DEVICES & SLOT NUMBERS";title
lsslot -c pci 1 2

if [ `lsdev -Cc tape|wc -l|awk '{print $1}'` -gt 0 ]
then
        TITLE="LIST OF TAPE DRIVES";title
        lsdev -Cc tape

        TITLE="TAPE DRIVE BLOCK SIZES";title
        lsdev -Cc tape|awk '{print $1}'|while read tape
        do
                block=`lsattr -El $tape|grep block|awk '{print $2}'`
                echo "TAPE DRIVE: $tape BLOCK SIZE: $block"
        done
fi

TITLE="DUMP DEVICES";title
sysdumpdev -l

TITLE="ESTIMATED DUMP SIZE";title
sysdumpdev -e

TITLE="NORMAL BOOTLIST";title
bootlist -m normal -o

TITLE="SERVICE BOOTLIST";title
bootlist -m service -o

TITLE="List of VPD (Vital Product Data)";title
lscfg -vp ; echo

TITLE="LICENSED PROGRAM PRODUCT HISTORY" ;title
/usr/bin/lslpp -h

TITLE="List of Installed AIX Programs (CS Format)"; title
lslpp -lc

TITLE="List of Installed AIX Programs"; title
lslpp -La

TITLE="List of Installed Patches and Fixes"; title
instfix -i| grep ML

TITLE="OS LICENSES"; title
lslicense

TITLE="DISKS ON SYSTEM";title
lsdev -Cc disk

TITLE="PAGING SPACES" ;title
lsps -a

TITLE="LIST OF MEMORY ON THE SYSTEM"; title
lsdev -Cc memory ; echo
lsattr -El sys0 -a realmem ; echo
lsattr -El mem0 ; echo

TITLE="SSA / DISK INFORMATION"; title
case `lsdev -Cc pdisk|wc -l|awk '{print $1}'` in

0 )
  ;;

* )

  hdisks=`lsdev -Cc disk | grep SSA | cut -f1 -d" "`
    hdisks=`lsdev -Cc disk -s ssar -F name`
  pdisks=`lsdev -Cc pdisk | cut -f1 -d" "`
     pdisks=`lsdev -Cc pdisk -F name`
  touch /tmp/hdisk.$$ # Temporary file - hdisk & SN
  touch /tmp/pdisk.$$ # Temporary file - pdisk & SN
  touch /tmp/locn.$$

  for i in $hdisks
  do
  print -n "$i " >> /tmp/hdisk.$$
  lsattr -El $i -a connwhere_shad | cut -c20-27 >> /tmp/hdisk.$$
  done

  for i in $pdisks
  do
  print -n "$i " >> /tmp/pdisk.$$
  lsattr -El $i -a connwhere_shad | cut -c20-27 >> /tmp/pdisk.$$
  done

  for i in $pdisks
  do
  print -n "$i " >> /tmp/locn.$$
  serno=`lsattr -El $i -a connwhere_shad | cut -c20-27`
  loc=`lscfg -vl $i|grep $i|cut -c 32-33`
  echo $serno $loc >> /tmp/locn.$$
  done

  for i in $pdisks
  do
  print -n "$i " >> /tmp/encl.$$
  serno=`lsattr -El $i -a connwhere_shad | cut -c20-27`
  enc=`lscfg -vl $i|grep $i|cut -c 27-30`
  echo $serno $enc >> /tmp/encl.$$
  done

  # Print header
  print "hdisk\tpdisk\tEncl Loc\tSize (MB)\tSerial Number\tPVID\t\t\tVG"
  echo "-----\t-----\t--------\t---------\t-------------\t----\t\t\t--"
  # Get PVID and VG for each hdisk and print it out
  for i in $hdisks
  do
  sn=`grep $i /tmp/hdisk.$$ | cut -f2 -d" "`
      sn=`grep "$i " /tmp/hdisk.$$ | awk '{ print $2 }'`
  pdisk=`grep $sn /tmp/pdisk.$$ | cut -f1 -d" "`
      pdisk=`grep $sn /tmp/pdisk.$$ | awk '{ print $1 }'`
  locn=`grep $sn /tmp/locn.$$ | cut -f3 -d" "`
      locn=`grep $sn /tmp/locn.$$ | awk '{ print $3 }'`
  encl=`grep $sn /tmp/encl.$$ | cut -f3 -d" "`
      encl=`grep $sn /tmp/encl.$$ | awk '{ print $3 }'`
  pvid=`lspv | grep $i | sed -e 's/ \{2,\}/ /g' | cut -f2 -d" "`
      pvid=`lspv | grep "$i " | awk '{ print $2 }'`
  vg=`lspv | grep $i | sed -e 's/ \{2,\}/ /g' | cut -f3 -d" "`
      vg=`lspv | grep "$i " | awk '{ print $3 }'`

  size=`lsattr -l $i -E|grep size |awk '{print $2}'`

  print "$i\t$pdisk\t$encl $locn \t$size\t\t$sn\t$pvid\t$vg"
  done
# rm /tmp/pdisk.$$ /tmp/hdisk.$$

  if [ -f /tmp/sysinfo/ls7133 ]
  then
     echo "\nSSA CABLING DIAGRAM"
     echo "-------------------"
     /tmp/sysinfo/ls7133 |grep '|'
  else
     continue
  fi

  continue
  ;;
esac

TITLE="List of Volume Groups and Related information"; title
lsvg | while read VG
do
        echo "\n\n####################################### $VG
#################################################"
        TITLE="lsvg $VG" ; title
        lsvg $VG
        TITLE="lsvg -p $VG" ; title
        lsvg -p $VG
        TITLE="lsvg -l $VG" ; title
        lsvg -l $VG
done

TITLE="List all Physical Volumes (PVs)";title
if [ $DISK = "vpath" ];then
        for type in vpath hdisk
        do
                echo;lspv | grep $type;echo
                lspv|grep $type| while read disk id vg
                do
                        echo "\n\n#######################################
$disk #################################################"
                        if [ $vg != "None" ] ; then
                                TITLE="lspv $disk";title
                                lspv $disk

                                TITLE="lspv -l $disk";title
                                lspv -l $disk

                                TITLE="lspv -p $disk";title
                                lspv -p $disk
                        fi
                done
        done

        TITLE="/usr/bin/datapath query device ";title
        /usr/bin/datapath query device

        TITLE="/usr/bin/lsvp -a";title
        /usr/bin/lsvp -a

        TITLE="/usr/bin/lsvp -d";title
        /usr/bin/lsvp -d|grep -v "checking device "

        TITLE="/usr/bin/lsess ";title
        /usr/bin/lsess

        TITLE="/usr/bin/lssdd ";title
        /usr/bin/lssdd

        TITLE="/usr/bin/ls2105";title
        /usr/bin/ls2105

else
        lspv|grep $DISK| while read disk id vg
        do
                echo "\n\n####################################### $disk
#################################################"
                if [ $vg != "None" ] ; then
                        TITLE="lspv $disk" ; title
                        lspv $disk

                        TITLE="lspv -l $disk" ; title
                        lspv -l $disk

                        TITLE="lspv -p $disk" ; title
                        lspv -p $disk

                        TITLE="lqueryvg -AtP -p /dev/$disk" ; title
                        lqueryvg -AtP -p /dev/$disk
                fi
        done
fi

TITLE="Relationship Between pdisks and hdisks" ; title
for i in $(lsdev -CS1 -cpdisk -sssar -F name)
do
  echo "$i: "$(ssaxlate -l $i)
done

TITLE="List of Logical Volume Details";title
lsdev -C|grep "Logical volume"|while read LV rest
do
        echo "\n\n####################################### $LV
#################################################"
        TITLE="lslv $LV " ; title
        lslv $LV
        TITLE="lslv -l $LV " ; title
        lslv -l $LV
        TITLE="lslv -m $LV " ; title
        lslv -m $LV
        TITLE="getlvcb -AT $LV" ; title
        getlvcb -AT $LV
done

###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###

banner LVM CHECKING

echo "\n\n\n*******************************************"
echo "*** LVM CHECKING ***"
echo "*******************************************\n\n\n"

LV_LIST=`lsvg -o | lsvg -il|grep -v ':'|grep -v 'LV NAME'|awk '{print
$1}'`

echo "Checking LV mirroring, mirror strictness, mirror parallel schedule
policy .........."
for LV in $LV_LIST
do
   ############################
   # Check if LV is mirrored #
   ############################
   count=`lslv -m $LV| grep -v ':'| grep -v LP| sed -n 1p |wc -w`
   if [ $count -gt 3 ]
   then
      #####################################################
      # If it is mirrored then check for strict mirroring #
      #####################################################
      lslv -m $LV|grep -v ':'|grep -v LV| awk '$3 == $5 {print "WARNING
'$LV' LP "$1" is not strictly mirrored"}'

      ###########################################
      # Now check for Paralell mirror scheduling#
      ###########################################
      sched_pol=`lslv $LV | grep SCHED|awk '{print $5}'`
      if [ $sched_pol != "parallel" ]
      then
         echo "WARNING $LV is set to mirror in $sched_pol mode not
parallel"
         echo "WARNING This could have a performance impact please
investigate"
      fi
   else
         echo "WARNING $LV is not mirrored please investigate"
   fi
done

echo "Checking all LVs are syncd............"
for LV in $LV_LIST
do
   #######################################
   # Check all LVs are syncd #
   #######################################
   SYNCSTATE=`lslv $LV| grep 'LV STATE:'| awk '{print $6}'| cut -d"/" -f2`
   if [ $SYNCSTATE != "syncd" ]
   then
      echo "Warning $LV is not syncd please investigate"
   fi
done

echo "Checking jfslog LVs have mirror write consistency set off for
performance."
JFSLOG_LIST=`lsvg -o | lsvg -il |grep jfslog| awk '{print $1}'`
for jfslog in $JFSLOG_LIST
do
   MWC=`lslv $jfslog | grep CONSIST| awk '{print $4}'`
   if [ $MWC != "off" ]
   then
      echo "WARNING the jfslog $jfslog has Mirror Write Consistency on"
      echo "This may have performance implications please investigate"
   fi
done

###########################
# Volume Group Checks #
###########################
echo "Checking Quorum settings.........."
VG_LIST=`lsvg -o`
for VG in $VG_LIST
do
   NUM_PV=`lspv | grep $VG|wc -l`
   if [ $NUM_PV -lt 3 ]
   then
      QUOR=`lsvg $VG|grep QUOR|awk '{print $5}'`
      if [ $QUOR -gt 1 ]
      then
         # Quorum is on
         echo "WARNING There are only $NUM_PV PVs in $VG and Quorum is set
on"
      fi
   else
      QUOR=`lsvg $VG|grep QUOR|awk '{print $5}'`
      ODD_EVEN=`expr $NUM_PV - $NUM_PV / 2 \* 2`
      if [ $QUOR -lt 2 ]
      then
         # Quorum must be off
         echo "WARNING There are $NUM_PV PVs in $VG and Quorum is set off"

         if [ $ODD_EVEN -eq 0 ]
         then
            # There are an even number of PVs
            echo "There are an even number of PVs in $VG so this may be"
            echo "OK if it is mirrored across SSA drawers"
         else
            # There are an odd number of PVs
            echo "There are an odd number of PVs in $VG so investigate"
         fi
      else
         # Quorum must be on
         if [ $ODD_EVEN -eq 0 ]
         then
            echo "WARNING There are an even number of PVs in $VG and
Quorum is on"
            echo "WARNING if these disks are mirrored across SSA drawers
please investigate"
            echo "WARNING as this may cause a problem in the event of a
drawer failure"
         fi
      fi
   fi
done

###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###

TITLE="MOUNTED FILESYSTEMS" ;title
mount

TITLE="Document the File Systems";title
lsfs ; echo
lsjfs ; echo

TITLE="Document the Disk Allocation";title
df -kv

TITLE="Document the filesystems";title
cat /etc/filesystems

###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
TITLE="Running WIT Program";title
# Page Space(s)
echo "\n\n";lsps -a | awk 'BEGIN {
        getline;
        print $0
        print "---------- --------------- ------------ ------ -----
------ ---- ----"
        }
        { # ON EVERY RECORD
                print $0
                sum += $4
        }
        END {
                print " ------"
                if ( sum < 1000 ) {
                        printf(" %5d MBytes\n\n", sum)
                }
                else {
                        printf(" %5d GBytes\n\n", sum/1000)
                }
        }'

# Volume Group, LVM and Filesystems
for vg in `lsvg`
do

        echo "Volume Group: "$vg
        echo " PP Size: "`lsvg $vg | grep "PP SIZE" | awk '{ print $6
}'`" MBytes/PP"

        for pv in `lsvg -p $vg | sed 1,2d | awk '{ print $1 }'`
        do
                echo "$pv `lspv $pv | fgrep 'FREE PP' | tr -d ":" | sed
's/ //'`" | awk '{
                printf(" %8s: %s %s %s %s %s %s
%s\n",$1,$4,$2,$3,$5,$6,$7,$8)
                }'
        done | awk '{
                gsub(/\(/,"",$5)
                gsub(/\)/,"",$6)
                sum += $5
                printf(" %8s%5s %s %s =%6s MB\n",$1,$2,$3,$4,$5)
                }
                END {
                printf(" ------\n")
                printf(" %6s MBytes\n",sum)
# drr #
                }'

        echo "\nFilesystems: Total (KB) Free (KB)
%Free"
        echo " ---------- ---------
-----"

           lsvg -l $vg | grep "jfs "|grep -v N\/A | awk '{ print $7 }' |
xargs -n1 df -k | grep -v Filesystem| awk '
                $2 > 0 {
                        printf ("%-30s%12d%12d%7d%%\n",$7,$2,$3,$3/$2*100)
                        total += $2
                        free += $3
                }
                END {
                        print(" ----------
---------")
                        printf(" %10d
%9d\n\n",total,free)
                }'
done

# Installed Memory
echo "Memory Config:\n"
for mem in `$LSCFG -v | grep mem[0-7] | cut -c3-6`
do
        $LSATTR -l $mem -E | awk '/^size/ { printf("%4d MByte memory
card\n", $2);
 }'
done

$LSATTR -l sys0 -E | awk '/realmem/ { printf("----\n%4d MBytes Total
Memory",
 $2/1024); }'

echo "; \c"
/usr/bin/rmss -p
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###
###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###

TITLE="Document the paging space activation";title
cat /etc/swapspaces

TITLE="DOCUMENT ALL PRINTERS";title
function is_ext {
                if [[ -x /usr/lib/lpd/pio/etc/piolsvp ]]
                then
                        /usr/lib/lpd/pio/etc/piolsvp -p 2>/dev/null
                else
                        /usr/bin/lsallq
                fi
                }; is_ext

TITLE="Printer Configuration File /etc/qconfig";title
cat /etc/qconfig

TITLE="Document the network printing";title
cat /etc/hosts.lpd

TITLE="Document the users on the system";title
lsuser -c ALL|grep -v ^#

TITLE="Document the Security settings";title
echo "cat /etc/security/login.cfg"

TITLE="cat /etc/security/group";title
cat /etc/security/group

TITLE="cat /etc/security/limits";title
cat /etc/security/limits

TITLE="cat /etc/security/user";title
cat /etc/security/user

TITLE="cat /etc/security/passwd" ;title
cat /etc/security/passwd

TITLE="cat /etc/passwd" ; title
cat /etc/passwd

TITLE="cat /etc/group" ;titile
cat /etc/group

TITLE="cat /usr/lib/security/mkuser.default";title
cat /usr/lib/security/mkuser.default

TITLE="cat /usr/lib/security/mkuser.sys";title
cat /usr/lib/security/mkuser.sys

TITLE="Document the valid group attributes";title
lsgroup -c ALL | sed '/^#.*/d' | tr ':' '\011'

TITLE="List ALL System Resouces";title
lssrc -a ; echo

TITLE="RC.SHUTDOWN FILE";title
cat /etc/rc.shutdown

TITLE="INETD.CONF FILE";title
cat /etc/inetd.conf

TITLE="SENDMAIL.CF FILE";title
cat /etc/sendmail.cf

TITLE="SYSLOG.CONF FILE";title
cat /etc/syslog.conf

TITLE="RC.LOCAL FILE";title
cat /usr/local/etc/rc.local

TITLE="Document the system wide profile";title
cat /etc/security/.profile

TITLE="Document the system wide environment";title
cat /etc/environment

TITLE="Document the cron jobs";title
for cron in `ls -1 /var/spool/cron/crontabs/`
do
        echo
"\n###################################################################"
        echo
"###################################################################"
        echo "Cron Listing for User $cron"
        echo
"###################################################################"
        echo
"###################################################################"
        cat /var/spool/cron/crontabs/$cron ; echo
done

TITLE="Document the system startup file";title
cat /etc/inittab

TITLE="Document the hostnames";title
cat /etc/hosts

TITLE="Document the remote login authority";title
cat /etc/hosts.equiv

if [ -f /etc/resolv.conf ]
  then
        TITLE="Document the /etc/resolv.conf file";title
        cat /etc/resolv.conf
fi

if [ -f /etc/netsvc.conf ]
  then
        TITLE="Document the /etc/netsvc.conf file";title
        cat /etc/netsvc.conf
fi

TITLE="Listing of /dev";title
ls -l /dev

TITLE="LISTING OF NETWORK INTERFACES";title
lsdev -Cc if

TITLE="NETWORK INTERFACE DETAILS";title
interfaces=`lsdev -Cc if -S a|awk '{print $1}'`
for i in $interfaces
do
        ifconfig $i
done

if [ `lsdev -C|grep ent[0-9]|wc -l|awk '{print $1}'` -gt 0 ]
then
        TITLE="NETWORK ADAPTER SPEED";title
        lsdev -C|grep ent[0-9]|awk '{print $1}'|while read device
        do
                echo "$device `lsattr -El $device|grep media_speed|awk
'{print $2}'"
        done
fi

TITLE="NETWORK STATIC ROUTES";title
netstat -rn;echo
netstat -v

TITLE="NETWORK CONFIGURATION VALUES";title
no -a

TITLE="ARP INFORMATION";title
arp -a

TITLE="NETWORK CONFIGURATION INFORMATION" ;title
netstat -i ; echo
netstat -a ; echo

if [ -f /bosinst.data ]
  then
        TITLE="DOCUMENT THE SYSTEM/MKSYSB /bosinst.data FILE";title
        cat /bosinst.data
fi

if [ -f /image.data ]
  then
        TITLE="DOCUMENT THE SYSTEM/MKSYSB /image.data FILE";title
        cat /image.data
fi

lsvg | grep -v rootvg| while read VG
do
if [ -f /tmp/vgdata/$VG/${VG}.data ]
  then
        TITLE="DOCUMENT THE ${VG}.data FILE for $VG Volume Group";title
        cat /tmp/vgdata/$VG/${VG}.data
fi
done

}

book >/tmp/AIX_Control_Book.log 2>&1

/usr/local/bin/mpack -s"AIX Control Book for `hostname` on `lsattr -El
sys0|grep modelname|awk '{print $2}'` Server" /tmp/AIX_Control_Book.log
2020_UNIX@2020log.com

Best Regards!

---
Alexandre Kazuo Sato
Third Part Consultant - UNIX Specialist
TI - Open Systems Engineering
Banco ABN AMRO REAL S.A.
Tel.: 11 - 3174-5307   Fax: 11 - 3174-9099
E-mail: alexandre.sato@br.abnamro.com
Shawn Bierman <BiermanS@METHODISTHEALTH.ORG>
Sent by: IBM AIX Discussion List <aix-l@Princeton.EDU>
19/05/2004 14:58
Please respond to IBM AIX Discussion List
        To:     aix-l@Princeton.EDU
        cc:
        Subject:        system documentation script
before I reinvent the wheel, I was wondering if someone already has a
script that documents that hardware configuration of an AIX node and
saves it to a file.
Something that does an lscfg and lsdev etc...  Also keeps a quick copy
of things like the /etc/passwd /etc/group /etc/hosts etc...
thanks for the help.
-shawn
---------------------------------------------------------------------------
This message (including any attachments) is confidential and may be privileged. If you have received it by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorised use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change.
ABN AMRO Bank N.V. (including its group companies) shall not be liable for the improper or incomplete transmission of the information contained in this communication nor for any delay in its receipt or damage to your system. ABN AMRO Bank N.V. (or its group companies) does not guarantee that the integrity of this communication has been maintained nor that this communication is free of viruses, interceptions or interference.
---------------------------------------------------------------------------


This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 22:17:56 EDT