Drucken

HPUX image backup

Beschreibung

Konfigurationsparameter

Für das script make_net_recovery.sh werden folgende Parameter im zentralen environment.cfg Konfiguration File benötigt:
Parameter Wert Beschreibung
IGNITE_ARCHIVE nfs12:/archives/`hostname`/`uname -r` NFS share wo die OS Images abgelegt werden sollen.
Dies kann der IgniteUX Server, oder auch jedes andere NFS share sein.
Bevorzugt setze ich, falls vorhanden, ein NAS System ein.
IGNITE_N_ARCHIVE 4 Anzahl der Archive die max. abgelegt werden sollen
Wenn die Anzahl erreicht ist, wird das älteste Image gelöscht
IGNITE_SERVER IgniteUX_Server
hpjapp7
IgniteUX Server, wo die Konfigurationen der Clients abglegt werden
IGNITE_OPTION -x inc_entire=vg00 -x exclude=/nfs -x exclude=/net -d `hostname`-`uname -r`-Archive es können die gleichen Optionen wie bei dem make_net_recovery Kommando benutzt werden

Eintrag im environment.cfg File

Der Eintrag in das zentrale environment.cfg File, könnte dann wie folgt aussehen:
...
#### IGNITE HPUX Setting: ###
#############################
IgniteUX                #IGNITE_SERVER          #hpapp3
IgniteUX                #IGNITE_CLIENT          #`hostname`
IgniteUX                #IGNITE_ARCHIVE         #"192.6.5.21:/ignite/archives/`hostname`/`uname -r`-d `hostname`-`uname -r`-Archive"
IgniteUX                #IGNITE_N_ARCHIVE       #4
IgniteUX                #IGNITE_OPTIONS         #"-A -x inc_entire=vg00"
IgniteUX                #IGNITE_TAPE            #/dev/rmt/0mn
IgniteUX@hpapp3        #IGNITE_SERVER          #hpaapp9
IgniteUX@hp11itest     #IGNITE_SERVER          #hpaapp9
IgniteUX@hp11itest     #IGNITE_ARCHIVE         #"192.6.5.11:/ignite/archives/`hostname`/`uname -r`"
IgniteUX@hpapp1        #IGNITE_OPTIONS         #"-f /ccf/local/etc/ignite_archive_content_`hostname`"
IgniteUX@hpapp2        #IGNITE_OPTIONS         #"-f /ccf/local/etc/ignite_archive_content_`hostname`"
IgniteUX@hpapp8        #IGNITE_SERVER          #hpapp2
IgniteUX@hpapp6        #IGNITE_SERVER          #hpapp2
IgniteUX@hpapp6        #IGNITE_OPTIONS         #"-f /usr/local/etc/testen"
...

Hierbei überschreiben die IgniteUX@SERVER_NAME die globalen IgniteUX Settings.
Es ist hiermit möglich, rechnerspezifische Definitionen zu generieren. Bei sehr umfangreichen Optionen, sollte man auf die Möglichkeit eines separaten Konfig Files -f Konfig_FILE zurückgreifen (siehe : man make_net_recovery Section "Including and Excluding From Archive"). Diese Konfig Files sollten beim Einsatz mehrerer IgniteUX Server ebenfalls zentral abgelegt werden.
Beispiel: "archive_content" Konfig File /ccf/local/etc/testen
inc_all_affected
inc_entire vg00
inc_entire vg01
exclude /nfs
exclude /net
exclude /u01
exclude /u00

Anwendung

Es benutzt die scripts functions2.sh und environment2.sh (zwingende Vorraussetzung) um zusätzliche Funtionen und die Umgebungsvariablen zu erhalten. Mit Hilfe der -h Option erhält man Informationen bzgl. der benutzten Optionen.
make_net_recovery.sh -h

environment2.sh
#-------------
script setting standard definitions
usage:  environment2.sh [-he]
usage:  environment2.sh [-de] [-ce configfile] [-Fe Projekt]
        -he       -shows help message for environment.sh
        -de       -debug display only commands
        -ce value -configfile
        -Fe value [value2] [value3] ...
                  -search for specific environment settings
#-----------------------------------------------------------------------
function2.sh
#-----------
        -hf       -shows help message for functions.sh
        -l        -Send output to standard out
        -d        -Debug mode. Do not execute anything
        -m value  -Send mail to user
        -O value  -Name of the logfile
        -f        -Force to send mail
        -c value  -Specify configuration file
        -e value  -file to set special Unix environment
        -T value  -Send SNMP trap if an error occured
        -F value [value2] [value3] ...
                  -search for specific environment settings in configfile
        -J value  -define from which scheduler script is running
        -R value  -Return Code greater than VALUE is an error
#------------------------------------------------------------------------
make_net_recovery.sh
#-------------
script to create a system image over network
usage:  make_net_recovery.sh [-h]
#-----------------------------------------------------------------------

Mittels der debug und list Option -d -l kann man einfach überprüfen welches "make_net_recovery" Kommando letztendlich ausgeführt wird.
make_net_recovery.sh -l -d

make_net_recovery.sh start: ##### Tue Jul 27 16:07:03 MESZ 2010 #####
/opt/ignite/bin/make_net_recovery -a nfs87:/archives/hpapp2/B.11.31 -v -A -n 4 -s hpignite1 -x inc_entire=vg00 \
-x exclude=/nfs -x exclude=/net -d hpapp2-B.11.31-Archive
make_net_recovery.sh end  : ##### Tue Jul 27 16:07:03 MESZ 2010 ##### RC: 0 (succesfully)

Source

das script make_net_recovery.sh zum erstellen eines IgniteUX OS image backup ist sehr einfach geschrieben. Die immer wiederkehrenden Funktionen sind in den Scripten functions2.sh und environment2.sh definiert. Diese werden mittels der Zeile:
. functions2.sh -F IgniteUX -O  make_net_recovery.log $*

eingefügt. Die Option -F IgniteUX ließt die im environment2.cfg definierten Environment Variablen (s.o.) aus. Die -O make_net_recovery.log Option definiert den Log File.

#@(#) !/bin/sh
#@(#) Programm: make_net_recovery.sh
#@(#) Revision: 1.0                    ### Flecke  Reinhold ### 03.12.03
#@(#) ------------------------------------------------------------------
#@(#) Revision: 1.1                    ### Flecke  Reinhold ### 29.01.10
#@(#) changed functions.sh to functions2.sh + add $dflag Option
#@(#) ------------------------------------------------------------------
#@(#) Description : script to create a system image over network
#@(#) ##################################################################
#set -x
SCRIPT=`basename $0`
 
script_help()
{
add_to_help "$SCRIPT\n" 0
add_to_help "#-------------\n" 0
add_to_help "script to create a system image over network\n" 0
add_to_help "usage:\t$SCRIPT [-h]\n" 0
add_to_help "#-----------------------------------------------------------------------\n" 0
HELP_ARRAY[0]=1
}
 
 
#-----     Housekeeping             ------------------------------------
#-----------------------------------------------------------------------
. functions2.sh -F IgniteUX -O  make_net_recovery.log $*
 
#----------     check Option     ---------------------------------------
#-----------------------------------------------------------------------
while [ $# -gt 0 ]; do
   case $1 in
   -h)
     script_help
     programm_option
     exit 2
     ;;
     *)
     shift
     ;;
   esac
done
 
start_msg
#----------     start defined task     ---------------------------------
   umask 000
   echo /opt/ignite/bin/make_net_recovery -a $IGNITE_ARCHIVE -v -A -n $IGNITE_N_ARCHIVE -s $IGNITE_SERVER $IGNITE_OPTION
S
   if [ $dflag = $FALSE ]  ; then
      /opt/ignite/bin/make_net_recovery -a $IGNITE_ARCHIVE -v -A -n $IGNITE_N_ARCHIVE -s $IGNITE_SERVER $IGNITE_OPTIONS
      RTN_CODE=$?
   fi
 
#----------     send mail [if defined] and finish script     -----------
if [ $RTN_CODE -eq 2 ] ; then
   RTN_CODE=0
   end_msg '[with warnings]'
else
   end_msg
fi