#!/bin/ksh # ###################################################################### ## This script automatically creates the Disaster Recovery Binder. ## Written 990225 -Ed Arizona ## Updated 000901 -Ed Arizona ###################################################################### # # To print: # # try: lp -d$PRINTER -ovm6 -op16 $FILENAME # (vertical margin, font pitch) # # or try: lp -d$PRINTER -o nb -o fp18 -ovsi5 -olm5 # (no banner, font pitch, vertical spacing, left margin) # # or for std printers, change -l96 to -l60 on all "pr" statements. # # i.e. cat automate.sh | sed 's/-l96/-l60/g' > tempfile # cp automate.sh automate.`date '+%y%m%d'` # mv tempfile automate.sh # ###################################################################### # # umask 027 dt=`date '+%m%d'` NaMe=`uname -n` mkdir TEMP ls -lap /etc/ > ./TEMP/etc.$dt pr -h "${NaMe}: ls -Rlap /etc/" -o10 -l96 ./TEMP/etc.$dt > ./TEMP/Yetc.${dt}.pr #ls -Rlap /dev/ > ./TEMP/dev.$dt #pr -h "${NaMe}: ls -Rlap /dev/" -l96 -o10 ./TEMP/dev.$dt > ./TEMP/Zdev.${dt}.pr ls -lap /usr/local/ > ./TEMP/local.$dt pr -h "${NaMe}: ls -lap /usr/local" -l96 -o10 ./TEMP/local.$dt > ./TEMP/Z5local.${dt}.pr ls -Rlap /usr/local/bin > ./TEMP/lbin.$dt pr -h "${NaMe}: ls -Rlap /usr/local/bin" -l96 -o10 ./TEMP/lbin.$dt > ./TEMP/Z7lbin.${dt}.pr cat /etc/vfstab > ./TEMP/vfstab.$dt pr -h "${NaMe}: vfstab" -l96 -o10 ./TEMP/vfstab.$dt > ./TEMP/E2vfstab.${dt}.pr if [ -x /usr/sbin/vxdisk ] then vxdisk list > ./TEMP/vxdisk.$dt pr -h "${NaMe}: vxdisk list" -l96 -o10 ./TEMP/vxdisk.$dt > ./TEMP/E5vxdisk.${dt}.pr vxprint -ht > ./TEMP/vxprint.$dt pr -h "${NaMe}: vxprint -ht" -l96 -o10 ./TEMP/vxprint.$dt > ./TEMP/E6vxprint.${dt}.pr for i in `vxprint -G | grep ^dg | cut -d" " -f2` do vxstat -g $i > ./TEMP/vxstat.${i}.$dt pr -h "${NaMe}: vxstat -g $i" -l96 -o10 ./TEMP/vxstat.${i}.$dt > ./TEMP/E8vxstat.${i}.${dt}.pr done for i in `ls /etc/vx/elm` do cat -vet /etc/vx/elm/${i} echo "\n\n###END KEY###\n\n" done > ./TEMP/vxlic.$dt pr -h "${NaMe}: VX License Keys" -l96 -o10 ./TEMP/vxlic.$dt > ./TEMP/E7vxlic.${dt}.pr fi DISKS=`df -k | awk -F/ '$4 ~ /^c/ {print $4}' | cut -d"s" -f1 | sort | uniq` if [ "s$DISKS" != "s" ] then for i in $DISKS do prtvtoc /dev/rdsk/${i}s2 > ./TEMP/vtoc_${i}.$dt pr -h "${NaMe}: prtvtoc $i" -l96 -o10 ./TEMP/vtoc_${i}.$dt > ./TEMP/E9vtoc_${i}.${dt}.pr done fi /usr/platform/sun4u/sbin/prtdiag -v > ./TEMP/diag.$dt pr -h "${NaMe}: prtdiag" -l96 -o10 ./TEMP/diag.$dt > ./TEMP/B2diag.${dt}.pr cat /etc/system > ./TEMP/kern.$dt pr -h "${NaMe}: /etc/system" -l96 -o10 ./TEMP/kern.$dt > ./TEMP/C0kern.${dt}.pr eeprom > ./TEMP/eeprom.$dt pr -h "${NaMe}: eeprom" -l96 -o10 ./TEMP/eeprom.$dt > ./TEMP/C3eeprom.${dt}.pr cat /etc/.serial_number > ./TEMP/serial.$dt pr -h "${NaMe}: serial number" -l96 -o10 ./TEMP/serial.$dt > ./TEMP/AAserial.${dt}.pr prtconf | grep -v instance > ./TEMP/conf.$dt pr -h "${NaMe}: prtconf" -l96 -o10 ./TEMP/conf.$dt > ./TEMP/B4conf.${dt}.pr sysdef | grep -v instance > ./TEMP/sysdef.$dt pr -h "${NaMe}: sysdef" -l96 -o10 ./TEMP/sysdef.$dt > ./TEMP/B6sysdef.${dt}.pr dmesg > ./TEMP/dmesg.$dt pr -h "${NaMe}: dmesg " -l96 -o10 ./TEMP/dmesg.$dt > ./TEMP/B8dmesg.${dt}.pr if [ -x /usr/local/bin/sysinfo ] then /usr/local/bin/sysinfo > ./TEMP/sysinfo.$dt pr -h "${NaMe}: sysinfo" -l96 -o10 ./TEMP/sysinfo.$dt > ./TEMP/B9sysinfo.${dt}.pr fi cat /etc/inittab > ./TEMP/inittab.$dt pr -h "${NaMe}: inittab" -l96 -o10 ./TEMP/inittab.$dt > ./TEMP/H4inittab.${dt}.pr for i in rc1 rc2 rc3 do ls -lap /etc/${i}.d > ./TEMP/${i}.$dt pr -h "${NaMe}: ls -lap /etc/"${i}".d" -o10 -l96 ./TEMP/${i}.$dt > ./TEMP/H7${i}.${dt}.pr done cat /etc/inet/hosts > ./TEMP/hosts.$dt pr -h "${NaMe}: hosts" -l96 -o10 ./TEMP/hosts.$dt > ./TEMP/K1hosts.${dt}.pr cat /etc/hosts.allow > ./TEMP/hallow.$dt pr -h "${NaMe}: hosts.allow" -l96 -o10 ./TEMP/hallow.$dt > ./TEMP/K3hallow.${dt}.pr cat /etc/hosts.deny > ./TEMP/hdeny.$dt pr -h "${NaMe}: hosts.deny" -l96 -o10 ./TEMP/hdeny.$dt > ./TEMP/K5hdeny.${dt}.pr cat /etc/inet/inetd.conf > ./TEMP/inetd.$dt pr -h "${NaMe}: inetd.conf" -l96 -o10 ./TEMP/inetd.$dt > ./TEMP/L2inetd.${dt}.pr cat /etc/syslog.conf > ./TEMP/syslog.$dt pr -h "${NaMe}: /etc/syslog.conf" -l96 -o10 ./TEMP/syslog.$dt > ./TEMP/L4syslog.${dt}.pr cat /etc/passwd > ./TEMP/passwd.$dt pr -h "${NaMe}: /etc/passwd" -l96 -o10 ./TEMP/passwd.$dt > ./TEMP/I2passwd.${dt}.pr cat /etc/group > ./TEMP/group.$dt pr -h "${NaMe}: /etc/group" -l96 -o10 ./TEMP/group.$dt > ./TEMP/I6group.${dt}.pr cat /etc/mail/aliases > ./TEMP/aliases.$dt pr -h "${NaMe}: /etc/mail/aliases" -l96 -o10 ./TEMP/aliases.$dt > ./TEMP/I8aliases.${dt}.pr cat /etc/shadow > ./TEMP/shadow.$dt pr -h "${NaMe}: /etc/shadow" -l96 -o10 ./TEMP/shadow.$dt > ./TEMP/I4shadow.${dt}.pr pkginfo -x > ./TEMP/pkginfo.$dt pr -h "${NaMe}: pkginfo" -l96 -o10 ./TEMP/pkginfo.$dt > ./TEMP/D1pkginfo.${dt}.pr showrev -p > ./TEMP/showrev.$dt pr -h "${NaMe}: showrev -p" -l96 -o10 ./TEMP/showrev.$dt > ./TEMP/D2showrev.${dt}.pr if [ -d /usr/local/sbin/patchdiag ] then /usr/local/sbin/patchdiag/patchdiag > ./TEMP/patchdiag.$dt pr -h "${NaMe}: patchdiag" -l96 -o10 ./TEMP/patchdiag.$dt > ./TEMP/D3patchdiag.${dt}.pr fi swap -l > ./TEMP/swap.$dt pr -h "${NaMe}: swap -l" -l96 -o10 ./TEMP/swap.$dt > ./TEMP/D5swap.${dt}.pr lpstat -v > ./TEMP/lpstat.$dt pr -h "${NaMe}: lpstat -v" -l96 -o10 ./TEMP/lpstat.$dt > ./TEMP/D9lpstat.${dt}.pr ifconfig -a > ./TEMP/ifconfig.$dt pr -h "${NaMe}: ifconfig -a" -l96 -o10 ./TEMP/ifconfig.$dt > ./TEMP/V2ifconfig.${dt}.pr netstat -nr > ./TEMP/netstat.$dt pr -h "${NaMe}: netstat -nr" -l96 -o10 ./TEMP/netstat.$dt > ./TEMP/V4netstat.${dt}.pr cat /etc/resolv.conf > ./TEMP/resolv.$dt pr -h "${NaMe}: /etc/resolv.conf" -l96 -o10 ./TEMP/resolv.$dt > ./TEMP/V6resolv.${dt}.pr cat /etc/nsswitch.conf > ./TEMP/nsswitch.$dt pr -h "${NaMe}: /etc/nsswitch.conf" -l96 -o10 ./TEMP/nsswitch.$dt > ./TEMP/V8nsswitch.${dt}.pr df -k > ./TEMP/df_k.$dt pr -h "${NaMe}: df -k" -l96 -o10 ./TEMP/df_k.$dt > ./TEMP/Fdf_k.${dt}.pr for i in `ls /usr/spool/cron/crontabs` do crontab -l $i > ./TEMP/cron_${i}.$dt pr -h "${NaMe}: crontab -l "$i -l96 -o10 ./TEMP/cron_${i}.$dt > ./TEMP/Scron_${i}.${dt}.pr done ss=`date +%C | cut -c5-13` print "\n\n\n\t TABLE OF CONTENTS " > ${NaMe}.toc print "\t"$NaMe "("`date`")" >> ${NaMe}.toc print "\n\tSerial Numbers(/etc/.serial_number)" >> ${NaMe}.toc print "\tConfiguration (prtdiag, prtconf, sysdef, hostid, dmesg)" >> ${NaMe}.toc if [ -x /usr/local/bin/sysinfo ] then print "\tSystem Information (sysinfo)" >> ${NaMe}.toc fi print "\tKernel Configuration (/etc/system)" >> ${NaMe}.toc print "\tFirmware Configuration (eeprom)" >> ${NaMe}.toc print "\tPackages Installed (pkginfo)" >> ${NaMe}.toc print "\tPatches Installed (showrev -p)" >> ${NaMe}.toc print "\tPatches Needed (patchdiag)" >> ${NaMe}.toc print "\n\tSwap Space (swap -l)" >> ${NaMe}.toc print "\tPrinter Configuration (lpstat -v)" >> ${NaMe}.toc print "\tFree Space on all File Systems (df -k)" >> ${NaMe}.toc print "\tFile Systems Mount Points (/etc/vfstab)" >> ${NaMe}.toc if [ -x /usr/sbin/vxdisk ] then print "\tVeritas Disk Layout & Stats (vxdisk, vxprint, vxstat, vx license keys)" >> ${NaMe}.toc fi if [ "s$DISKS" != "s" ] then print "\tUnix Disk Layout (prtvtoc)" >> ${NaMe}.toc fi print "\n\tInitialization Processes (/etc/inittab)" >> ${NaMe}.toc print "\tStartup Scripts (/etc/rc*d)" >> ${NaMe}.toc print "\tPassword File (/etc/passwd)" >> ${NaMe}.toc print "\tShadow File (/etc/shadow)" >> ${NaMe}.toc print "\tGroup File (/etc/group)" >> ${NaMe}.toc print "\tMail Aliases File (/etc/mail/aliases)" >> ${NaMe}.toc print "\n\tHosts File (/etc/inet/hosts)" >> ${NaMe}.toc print "\tHosts.Allow File (/etc/hosts.allow)" >> ${NaMe}.toc print "\tHosts.Deny File (/etc/hosts.deny)" >> ${NaMe}.toc print "\tInetd Configuration File (/etc/inet/inetd.conf)" >> ${NaMe}.toc print "\tSyslog Configuration (/etc/syslog.conf)" >> ${NaMe}.toc print "\n\tAll Crontabs (/usr/spool/cron/crontabs/*)" >> ${NaMe}.toc print "\tInterface Configuration (ifconfig -a)" >> ${NaMe}.toc print "\tRouting Table (netstat -nr)" >> ${NaMe}.toc print "\tResolve Configuration (/etc/resolv.conf)" >> ${NaMe}.toc print "\tNIS Configuration (/etc/nsswitch.conf)" >> ${NaMe}.toc print "\n\tListing of /etc (ls -l)" >> ${NaMe}.toc print "\tListing of /usr/local (ls -l)" >> ${NaMe}.toc print "\tRecursive Listing of /usr/local/bin (ls -Rl)" >> ${NaMe}.toc cat TEMP/*.pr > ${NaMe}.${dt} banner DONE! ## ## This code auto-magically printed the binder. But you're ## better off doing it manually from the cmd line. -Ed. ## #read wa #cat TEMP/*.pr | sed "s/^$ss/ $ss/" > ${NaMe}.${dt} # rm -r TEMP #lp -dpkeo1 -ovm6 -op16