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

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 | Legal notice | Privacy Policy (german)