BRON: Sample Scripts

Here’s some sample scripts. Note that I’m no master scriptor, these aren’t the greatest scripts ever, but they work for me…

(note too, the lines below may be wrapped for display, but should not wrap if you use them.)

This is how I backup my documents:

#!/bin/sh
# filename: backup-shared-documents.sh
#. /accounts/1000/shared/misc/bron/conf/env-vars.txt
export APPDIR=/accounts/1000/shared/misc/bron
export myName=`basename $0 .sh` # resolves to backup-shared-documents
export SRCDIR=/accounts/1000/shared/documents
export DESTDIR=/accounts/1000/shared/misc/SDCARD/misc/backup #note: SDCARD is a symlink I created to /accounts/1000/removable/sdcard
export verbose=0

# if verbose is set, use -VRn to cp command
# if not set, just do -vRn
if [[ $verbose -eq 1 ]]; then
        print "verbose is on"
        echo "starting backup at `date`" > $APPDIR/logs/$myName.log
        echo "-> ignoring skipped files.." >> $APPDIR/logs/$myName.log
        cp -VRn $SRCDIR $DESTDIR 2>&1 >> $APPDIR/logs/$myName.log #note: the -V turns on EXTRA verbose messages
        echo "backup ended at `date`" >> $APPDIR/logs/$myName.log
else
        print "verbose is not on"
        echo "starting backup at `date`" > $APPDIR/logs/$myName.log
        cp -vRn $SRCDIR $DESTDIR 2>&1 >> $APPDIR/logs/$myName.log #note: the -v turns on verbose messages, but not as verbose as -V
        echo "backup ended at `date`" >> $APPDIR/logs/$myName.log
fi

This is how I check flash usage. this script creates a Notification if flash usage is over 60%.

#!/bin/sh
# filename: check-flash-usage.sh
. /accounts/1000/shared/documents/env-vars.txt
export myName=`basename $0 .sh` #resolves to check-flash-usage

# check a filesystem to see if it exceeds a threshold
warning=`df -h |gawk -f $BRONDIR/scripts/get-flash-usage.awk -v threshold=60`
echo "starting flash check at `date`" > $BRONDIR/logs/$myName.log
if [[ -z $warning ]]; then   # if $warning is empty, then
        echo "warning is empty!"
        echo "flash usage is ok" >> $BRONDIR/logs/$myName.log
else 
        echo "warning is NOT empty!"
        echo "$warning" > $BRONDIR/alerts/$myName.notification
fi
echo "ending flash check at `date`" >> $BRONDIR/logs/$myName.log

..and here’s the awk script that it calls as well…

# note: I'm not great with awk, but it works
# note: the variable $threshold is set when gawk is called by passing "-v threshold=60". see the check-flash-usage.sh script above
{
        if ($1 ~ /user0/) {
                i = split($5, num, "")
                if (i > 2) {
                        usage=num[1]num[2]
                } else {
                        usage=num[1]
                }
                if (usage > $threshold){
                        print "Warning: flash (", $1, ") is over threshold! (threshold: ", threshold, ", value: ", $5, ")." 
                }
        }
}
%d bloggers like this: