X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=scripts%2Fbackup.in;h=087ab2c183398bd77b5e1e5cc93ef20b4a08b75e;hb=HEAD;hp=59ded9795af963a6ad98cf76202258b92386a213;hpb=63e90fdc626f5baef418adae8828bc0bd6589fec;p=chaz%2Ftar diff --git a/scripts/backup.in b/scripts/backup.in index 59ded97..087ab2c 100644 --- a/scripts/backup.in +++ b/scripts/backup.in @@ -1,21 +1,22 @@ #! /bin/sh -# This program is part of GNU tar -# Copyright 2004, Free Software Foundation -# -# This program is free software; you can redistribute it and/or modify +# Make backups. + +# Copyright 2004-2006, 2013 Free Software Foundation + +# This file is part of GNU tar. + +# GNU tar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# GNU tar is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# + # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# along with this program. If not, see . # Load library routines SYSCONFDIR=${SYSCONFDIR-@sysconfdir@} @@ -34,11 +35,10 @@ Options are: -f, --force Force backup even if today's log file already exists. -v, --verbose[=LEVEL] Set verbosity level. Default 100. - -t, --time=TIME Wait till TIME, then do backup. + -t, --time=TIME Wait till TIME, then do backup. -Informational options: +Informational options: -h, --help Display this help message. - -L, --license Display program license. -V, --version Display program version. Optional argument WHEN is for backward compatibility only. It has been @@ -73,8 +73,9 @@ do --l=*|--le=*|--lev=*|--leve=*|--level=*) DUMP_LEVEL=$optarg ;; + -l?*) DUMP_LEVEL=`expr $option : '-l\(.*\)'`;; -l|--l|--le|--lev|--leve|--level) - prev=$option + prev=--level ;; --verb=*|--verbo=*|--verbos=*|--verbose=*) VERBOSE=$optarg @@ -82,21 +83,18 @@ do -v|--verb|--verbo|--verbos|--verbose) VERBOSE=100 ;; - -v*) VERBOSE=`expr $option : "-v\(.*\)"`;; + -v*) VERBOSE=`expr $option : '-v\(.*\)'`;; --t=*|--ti=*|--tim=*|--time=*) TIME=$optarg ;; - -t) prev=--t;; - -t*) TIME=`expr $option : "-t\(.*\)"`;; - --t|--ti|--tim|--time) - prev=$option + -t?*) TIME=`expr $option : '-t\(.*\)'`;; + -t|--t|--ti|--tim|--time) + prev=--time ;; -V|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "backup (@PACKAGE@ @VERSION@)" - exit 0;; - -L|--li|--lic|--lice|--licen|--licens|--license) - license - exit;; + echo "backup (@PACKAGE_NAME@) @VERSION@" + license + exit;; -h|--h|--he|--hel|--help) usage exit;; @@ -108,13 +106,13 @@ do else TIME=$option fi;; - esac -done + esac +done if [ "x$TIME" = x ]; then bailout "No backup time specified. Try $PROGNAME --help for more info." exit 1 -fi +fi init_backup @@ -138,10 +136,10 @@ fi if [ "x$FORCE" = "xyes" ]; then rm ${LOGFILE} -fi +fi if [ -f "${LOGFILE}" ] ; then - bailout "Log file ${LOGFILE} already exists." + bailout "Log file ${LOGFILE} already exists." else touch "${LOGFILE}" fi @@ -152,7 +150,7 @@ message 20 "BACKUP_DIRS=$BACKUP_DIRS" message 20 "BACKUP_FILES=$BACKUP_FILES" # The buch of commands below is run in a subshell for which all output is -# piped through `tee' to the logfile. Doing this, instead of having +# 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. ( @@ -172,7 +170,7 @@ message 20 "BACKUP_FILES=$BACKUP_FILES" if [ -z "$remotehost" ]; then remotehost=$localhost fi - + echo "Backing up ${1} at ${date}" message 10 "fs=$fs" message 10 "fsname=$fsname" @@ -183,14 +181,14 @@ message 20 "BACKUP_FILES=$BACKUP_FILES" echo "Last `prev_level` dump on this filesystem was on $PREV_DATE" remote_run "${remotehost}" cp "`level_log_name ${fsname} $PREV_LEVEL`" "`level_log_name temp`" fi - + ${DUMP_BEGIN-:} $DUMP_LEVEL $remotehost $fs $fsname backup_host ${remotehost} \ "--listed=`level_log_name temp`" \ "--label='`print_level` backup of ${fs} on ${remotehost} at ${NOW}'" \ -C ${fs} . - # `rsh' doesn't exit with the exit status of the remote command. What + # 'rsh' doesn't exit with the exit status of the remote command. What # stupid lossage. TODO: think of a reliable workaround. if [ $? -ne 0 ] ; then echo "Backup of ${1} failed." 1>&2 @@ -199,7 +197,7 @@ message 20 "BACKUP_FILES=$BACKUP_FILES" else flush_level_log ${remotehost} ${fsname} fi - ${MT_STATUS} $TAPE_FILE + ${MT_STATUS} "$TAPE_FILE" ${DUMP_END-:} $DUMP_LEVEL $remotehost $fs $fsname echo "sleeping ${SLEEP_TIME} seconds" sleep ${SLEEP_TIME} @@ -214,14 +212,14 @@ message 20 "BACKUP_FILES=$BACKUP_FILES" date="`date`" if [ $DUMP_LEVEL -eq 0 ]; then - make_level_log $localhost + make_level_log $localhost else echo "Last `prev_level` dump on this filesystem was on $PREV_DATE" remote_run "${localhost}" cp "`level_log_name MISC $PREV_LEVEL`" "`level_log_name temp`" fi echo "Backing up miscellaneous files at ${date}" - + ${DUMP_BEGIN-:} $DUMP_LEVEL $localhost MISC MISC backup_host $localhost \ "--listed=`level_log_name temp`"\ @@ -235,7 +233,7 @@ message 20 "BACKUP_FILES=$BACKUP_FILES" else flush_level_log $localhost MISC fi - ${MT_STATUS} $TAPE_FILE + ${MT_STATUS} "$TAPE_FILE" ${DUMP_END-:} $DUMP_LEVEL $localhost MISC MISC else echo "No miscellaneous files specified" @@ -243,7 +241,7 @@ message 20 "BACKUP_FILES=$BACKUP_FILES" message 1 "final cleanup" - $MT_REWIND "${TAPE_FILE}" + $MT_REWIND "${TAPE_FILE}" $MT_OFFLINE "${TAPE_FILE}" echo "." ) 2>&1 | tee -a "${LOGFILE}"