#!/bin/bash # # roab Run Once After Boot # # Authors: Sascha Nowak # # chkconfig: 345 99 00 # description: Run all files located in /etc/roab/run.d # once after next system boot # #### Changelog: # 30.04.2009 Sascha Nowak # Init # ########################################################### ROABDIR=/etc/roab RUNDIR=$ROABDIR/run.d SAVEDIR=$ROABDIR/run.log [ -d $RUNDIR ] || mkdir -p $RUNDIR [ -d $SAVEDIR ] || mkdir -p $SAVEDIR . /etc/rc.d/init.d/functions case "$1" in start) ANZ=$(ls -1 $RUNDIR|wc -l) if [ $ANZ -gt 0 ] ; then logger -t roab Starting $ANZ files from ROAB... echo "ROAB: Starting $ANZ files from ROAB..." chmod 550 $RUNDIR/* for roabscript in $RUNDIR/*; do DATUM=$(date +"%Y%m%d-%H%M%S") roabscriptbase=`basename $roabscript` logger -t roab Starting ROAB file $roabscriptbase echo "ROAB: Starting ROAB file $roabscriptbase" $roabscript 2>&1 | tee -a $SAVEDIR/$DATUM-$roabscriptbase.log RETVAL=$? if [ $RETVAL -eq 0 ] ; then action "ROAB: $roabscriptbase" /bin/true else action "ROAB: $roabscriptbase" /bin/false fi mv -f $roabscript $SAVEDIR/$DATUM-$roabscriptbase done # Check for reboot if [ -f "$ROABDIR/forcereboot" ] ; then rm -f "$ROABDIR/forcereboot" DATUM=$(date +"%Y%m%d-%H%M%S") logger -t roab Rebooting system echo "ROAB: Rebooting system" | tee -a $SAVEDIR/$DATUM-forcedreboot.log /sbin/reboot exit 0 fi else action $"ROAB: Nothing to do..." /bin/true fi ;; stop) ;; *) echo "Usage: $0 {start,stop}" exit 1 esac exit 0