]> Dogcows Code - chaz/tar/blobdiff - scripts/backup.in
Options to control option handling in file lists.
[chaz/tar] / scripts / backup.in
index 59ded9795af963a6ad98cf76202258b92386a213..087ab2c183398bd77b5e1e5cc93ef20b4a08b75e 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.
 
 # 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}"
This page took 0.024761 seconds and 4 git commands to generate.