X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=scripts%2Flevel-1;h=d7f3e0bad86fdc8cc6f6f3c206caa79c9c481698;hb=4c690508bdb97cac5fe00134a9a363b77845c3a6;hp=7d10fbd259d15e8b848c8a6e5f96ad8c1cfff8c6;hpb=b673b3f79454b66d0f4942cd93c790f941dc9235;p=chaz%2Ftar diff --git a/scripts/level-1 b/scripts/level-1 index 7d10fbd..d7f3e0b 100644 --- a/scripts/level-1 +++ b/scripts/level-1 @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh # # Run this script as root on the machine that has the tape drive, to make a # level-1 dump containing all files changed since the last full dump. @@ -9,10 +9,10 @@ # You must edit the file `backup-specs' to set the parameters for your site. # Useful for backup-specs, in case things have to be done slightly -# differently for different dump levels. +# differently for different dump levels. DUMP_LEVEL=1 -# Insure `mail' is in PATH. +# Insure `mail' is in PATH. PATH="/usr/ucb:${PATH}" export PATH @@ -46,7 +46,7 @@ if [ "z${1}" != "znow" ]; then if((hr + 0) < (spec + 0)) print 3600 * (spec - hr) - 60 * mn; else - print 3600 * (spec + (24 - hr)) - 60 * mn; + print 3600 * (spec + (24 - hr)) - 60 * mn; }' spec=\"${spec}\"`" clear @@ -59,29 +59,34 @@ fi # Put startdate in the subject line of mailed report, since if it happens # to run longer than 24 hours (as may be the case if someone forgets to put # in the next volume of the tape in adequate time), the backup date won't -# appear too misleading. +# appear too misleading. startdate="`date`" here="`pwd`" # Logfile name should be in the form ``log-1993-03-18-level-1'' +# They go in the subdirectory `log' of the current directory. # i.e. year-month-date. This format is useful for sorting by name, since # logfiles are intentionally kept online for future reference. -LOGFILE=log-`date | awk ' - BEGIN { - d["Jan"] = "01"; d["Feb"] = "02"; d["Mar"] = "03"; - d["Apr"] = "04"; d["May"] = "05"; d["Jun"] = "06"; - d["Jul"] = "07"; d["Aug"] = "08"; d["Sep"] = "09"; - d["Oct"] = "10"; d["Nov"] = "11"; d["Dec"] = "12"; - } - { - if ($3 < 10) $3 = "0" $3; - print $6 "-" d[$2] "-" $3; - }'`-level-${DUMP_LEVEL} +LOGFILE="log/log-`date | sed -ne ' + s/[^ ]* *\([^ ]*\) *\([^ ]*\).* \([^ ]*\)$/\3-\1-\2/ + /-[0-9]$/s/\([0-9]\)$/0\1/ + /Jan/{s/Jan/01/p;q;} + /Feb/{s/Feb/02/p;q;} + /Mar/{s/Mar/03/p;q;} + /Apr/{s/Apr/04/p;q;} + /May/{s/May/05/p;q;} + /Jun/{s/Jun/06/p;q;} + /Jul/{s/Jul/07/p;q;} + /Aug/{s/Aug/08/p;q;} + /Sep/{s/Sep/09/p;q;} + /Oct/{s/Oct/10/p;q;} + /Nov/{s/Nov/11/p;q;} + /Dec/{s/Dec/12/p;q;}'`-level-${DUMP_LEVEL}" localhost="`hostname | sed -e 's/\..*//'`" -TAR_PART1="/usr/local/bin/tar -c --multi-volume --one-file-system --block=${BLOCKING} --sparse --volno-file=${VOLNO_FILE}" +TAR_PART1="${TAR} -c --multi-volume --one-file-system --blocking=${BLOCKING} --sparse --volno-file=${VOLNO_FILE}" # Only use --info-script if DUMP_REMIND_SCRIPT was defined in backup-specs if [ "x${DUMP_REMIND_SCRIPT}" != "x" ]; then @@ -100,13 +105,13 @@ fi # Most everything below here is run in a subshell for which all output is # piped through `tee' to the logfile. Doing this, instead of having # multiple pipelines all over the place, is cleaner and allows access to -# the exit value from various commands more easily. +# the exit value from various commands more easily. ( - # Caveat: Some version of `mt' require `-t', not `-f'. + # Caveat: Some version of `mt' require `-t', not `-f'. mt -f "${TAPE_FILE}" rewind rm -f "${VOLNO_FILE}" - set - "${BACKUP_DIRS}" + set - ${BACKUP_DIRS} while [ $# -ne 0 ] ; do date="`date`" remotehost="`echo \"${1}\" | sed -e 's/:.*$//'`" @@ -139,7 +144,7 @@ fi fi # `rsh' doesn't exit with the exit status of the remote command. What - # stupid lossage. TODO: think of a reliable workaround. + # stupid lossage. TODO: think of a reliable workaround. if [ $? -ne 0 ] ; then echo "Backup of ${1} failed." # I'm assuming that the tar will have written an empty