Epics@GSI Webhome

resetMACs script: (re)start hadcon at reboot - caller for resetMAC script

%begin bash% #/bin/sh # resetMACs.sh # # dispatcher for resetMAC.sh # - checks for matching hostnames and # calls $resetMac.sh resets MAC address depending on HOSTNAME content # # created: 13-01-2010 # author: p.zumbruch, GSI # modified: 13-01-2010

#debug - uncomment to debug #set -xv

#predefines scriptname=resetMACs.sh myHostname=$(hostname) mylist='etrax042 etrax043 etrax044 etrax045 etrax046 etrax047 etrax048' HomeHadaq=/home/hadaq resetMACscript=${HomeHadaq}/EPICS/startupProcedures/resetMAC.sh interface=eth0

unset myDebug;

#unset function unsets () { unset myHostname mylist item resetMACscript unset scriptname HomeHadaq interface

return 0; }

#usage function usage() { echo echo "$scriptname" echo "usage: $scriptname [options]" echo echo " dispatcher for resetMAC.sh," echo " checks for matching hostnames with a given list of hostname" echo " and calls resetMAC.sh, which resets their MAC according to the hostname" echo echo "options:" echo " -H hostname : hostname" echo " [\`${myHostname}']" echo " -s scriptname : resetMACscript name (absolute path) " echo " [\`${resetMACscript}']" echo " -e interface : uses ethernet interface" echo " [\`$interface']" echo " -l list : quoted space separated list of hostnames, whose MACs are to be reset" echo " [\`\"$mylist\"']" echo " -D : just echos command instead of executing [$([ -z "${myDebug}" ] && echo OFF || echo ON)]" echo " -d : debug mode sets set -xv" echo " -h : this help" echo }

#eval options while getopts dhe:l:s:DH: arg do case $arg in \? | h )usage ; unsets; exit 0; shift ;; H ) myHostname=$OPTARG; shift 2;; e ) interface=$OPTARG; shift 2;; l ) mylist=$OPTARG; shift 2;; s ) resetMACscript=$OPTARG; shift 2;; d ) set -xv shift;; D ) myDebug=echo shift;; esac done

#checks, directories and permissions ... # hostname if [ -z "$myHostname" ] then echo "$scriptname: hostname not available ... exiting" 1>&2 unsets exit 1; fi # interface if [ -z "$interface" ] then echo "$scriptname: interface not set ... exiting" 1>&2 unsets exit 1; fi # resetMAC script if [ ! -x "${resetMACscript}" ] then echo "$scriptname: reset MAC Script: \`${resetMACscript}' is not executable or available ... exiting" 1>&2 unsets exit 1; fi

#execute for item in $mylist do if [ "$item" = "$myHostname" ] then ${myDebug} ${resetMACscript} -e ${interface} break; fi done

unsets

exit 0

%end%


-- PeterZumbruch - 13 Jan 2010

Topic attachments
I Attachment ActionSorted ascending Size Date Who Comment
resetMACs.shsh resetMACs.sh manage 2.6 K 2010-01-13 - 19:28 PeterZumbruch resetMACs.sh script
This topic: Epics > WebHome > EpicsProjectsAndActivities > HadesControlSystem > HowToSetupHadesIOCsRestartAtReboot > HowToSetupHadesIOCsRestartAtRebootHadconResetMACsScript
Topic revision: 2010-02-11, PeterZumbruch
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback
Imprint (in German)
Privacy Policy (in German)