Browse Source

Initial revision

Paul Eggert 34 years ago
commit
a30037e515
1 changed files with 42 additions and 0 deletions
  1. 42 0
      scripts/weekly.new

+ 42 - 0
scripts/weekly.new

@@ -0,0 +1,42 @@
+#!/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