123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/bin/sh
- # start doing things
- TOBACKUP="albert:/"
- HOST=`hostname | sed 's/\..*//'`
- TAPEFILE=/dev/rfd0a
- LOGFILE=tar-out
- BLOCKING=20
- TAR_PART1="/usr/local/bin/tar clbfVM $BLOCKING"
- rm -f $LOGFILE
- mt -f $TAPEFILE rewind
- host=`echo $TOBACKUP | sed 's/:.*$//'`;
- fs=`echo $TOBACKUP | sed 's/^.*://'`;
- date=`date`;
- fsname=`echo $TOBACKUP | sed 's/\//:/g'`
- TAR_PART2="'Weekly backup of $fs on $host at $date' -C $fs ."
- echo Backing up $TOBACKUP at $date | tee -a $LOGFILE
- # Actually back things up.
- if [ $HOST != $host ] ; then
- rsh $host $TAR_PART1 $HOST:$TAPEFILE $TAR_PART2
- else
- sh -c "exec $TAR_PART1 $TAPEFILE $TAR_PART2"
- fi
- if [ $? -ne 0 ] ; then
- echo Backup of $TOBACKUP failed. | tee -a $LOGFILE
- echo mts at time of failure | tee -a $LOGFILE
- mts -t $TAPEFILE | tee -a $LOGFILE
- # I'm assuming that the tar will have written an empty
- # file to the tape, otherwise I should do a cat here.
- else
- echo $date > $fsname.lasttar
- fi
- sleep 60;
- mt -f $TAPEFILE rewind
- mt -f $TAPEFILE offl
|