]> Dogcows Code - chaz/tar/commitdiff
Minor fix
authorSergey Poznyakoff <gray@gnu.org.ua>
Sat, 8 May 2004 22:22:24 +0000 (22:22 +0000)
committerSergey Poznyakoff <gray@gnu.org.ua>
Sat, 8 May 2004 22:22:24 +0000 (22:22 +0000)
configure.ac
scripts/backup.in

index a495abfa9700aa0e639610bf1f0436562792d9b5..92f3670a9e4ea90a22a02b9424aa1bf7a52d6ff5 100644 (file)
@@ -245,9 +245,9 @@ AC_CHECK_TYPE(iconv_t,:,
 
 AC_SUBST(BACKUP_SED_COND)
 if date +%Y-%m-%d 2>/dev/null >&2; then
-       BACKUP_SED_COND='/^#ELSE_DATE_FORMAT_OK/,/^#ENDIF_DATE_FORMAT_OK/d;/^#IF_DATE_FORMAT_OK/d'
+       BACKUP_SED_COND='/^\#ELSE_DATE_FORMAT_OK/,/^\#ENDIF_DATE_FORMAT_OK/d;/^\#IF_DATE_FORMAT_OK/d'
 else
-       BACKUP_SED_COND='/^#IF_DATE_FORMAT_OK/,/^#ELSE_DATE_FORMAT_OK/d;/^#ENDIF_DATE_FORMAT_OK/d'
+       BACKUP_SED_COND='/^\#IF_DATE_FORMAT_OK/,/^\#ELSE_DATE_FORMAT_OK/d;/^\#ENDIF_DATE_FORMAT_OK/d'
 fi
 
 
index aa9bca732d82d185b05d3d94b009723464f15cbb..7baa4a05e6e98a68f2adcced86a23934896e3e8a 100644 (file)
 SYSCONFDIR=${SYSCONFDIR-@sysconfdir@}
 . ${LIBPATH-@libexecdir@}/backup.sh
 
-now() {
-#IF_DATE_FORMAT_OK     
-       date +%Y-%m-%d
-#ELSE_DATE_FORMAT_OK
-        LC_ALL=C date | \
-       sed '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;}'
-#ENDIF_DATE_FORMAT_OK
-}
-
 DUMP_LEVEL=0
 TIME=
+NOW=`now`
 
 usage() {
        cat - <<EOF
 usage: $PROGNAME [OPTIONS] [WHEN]
 Options are:
 
-   -l, --level LEVEL       Do backup level LEVEL (default $DUMP_LEVEL).
+   -l, --level=LEVEL       Do backup level LEVEL (default $DUMP_LEVEL).
    -f, --force             Force backup even if today's log file already
                            exists.
-   -v, --verbose LEVEL     Set verbosity level.
-   -t, --time TIME         Wait till TIME, then do backup. 
+   -v, --verbose[=LEVEL]   Set verbosity level. Default 100.
+   -t, --time=TIME         Wait till TIME, then do backup. 
 
 Informational options:   
    -h, --help              Display this help message.
-   -l, --license           Display program license.
+   -L, --license           Display program license.
    -V, --version           Display program version.
 
-   Optional argumen WHEN is for backward compatibility only. It has been
+   Optional argument WHEN is for backward compatibility only. It has been
    superseded by --time option.
    TIME argument can be one of:
 
@@ -70,8 +49,7 @@ Informational options:
        HH           --     do backup at HH hours.
        HH:MM        --     do backup at HH:MM.
 
-
-   Send bug reports to @PACKAGE_BUGREPORT@.
+Send bug reports to @PACKAGE_BUGREPORT@.
 EOF
 }
 
@@ -81,40 +59,56 @@ case "$PROGNAME" in
 level-[0-9]) DUMP_LEVEL=`expr $PROGNAME : 'level-\([0-9][0-9]*\)'`;;
 esac
 
-while [ $# -ne 0 ];
+for opt
 do
-    case $1 in
-    -l|--l|--le|--lev|--leve|--level)
-       shift
-       DUMP_LEVEL=$1
-       ;;
-    -v|--verb|--verbo|--verbos|--verbose)
-       shift
-       VERBOSE=$1
-       ;;
-    -V|--v|--ve|--ver|--vers|--versi|--versio|--version)
-       echo "backup; @PACKAGE@ (@VERSION@)"
-       exit 0;;
-    -L|--li|--lic|--lice|--licen|--licens|--license)
-       license
-       exit;;
-    -t|--ti|--tim|--time)
-       shift
-       TIME=$1
-       ;;
-    -f|--f|--fo|--for|--forc|--force)
-       FORCE=yes
-       ;;
-    -h|--h|--he|--hel|--help)
-       usage
-       exit;;
-    *)  if [ "x$TIME" != "x" ]; then
-           bailout "Extra argument. Try $PROGNAME --help for more info."
-       else
-           TIME=$1
-       fi;;    
-    esac       
-    shift
+  if [ -z "$prev" ]; then
+      option=$opt
+      optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
+  else
+      option="${prev}=$opt"
+      prev=""
+      optarg=$opt
+  fi
+  case $option in
+  --l=*|--le=*|--lev=*|--leve=*|--level=*)
+         DUMP_LEVEL=$optarg
+        ;;
+  -l|--l|--le|--lev|--leve|--level)
+         prev=$option
+        ;;
+  --verb=*|--verbo=*|--verbos=*|--verbose=*)
+         VERBOSE=$optarg
+        ;;
+  -v|--verb|--verbo|--verbos|--verbose)
+         VERBOSE=100
+        ;;
+  -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
+        ;;
+  -V|--v|--ve|--ver|--vers|--versi|--versio|--version)
+        echo "restore; @PACKAGE@ (@VERSION@)"
+        exit 0;;
+  -L|--li|--lic|--lice|--licen|--licens|--license)
+        license
+        exit;;
+  -h|--h|--he|--hel|--help)
+        usage
+        exit;;
+  -f|--f|--fo|--for|--forc|--force)
+        FORCE=yes
+        ;;
+  *)     if [ "x$TIME" != "x" ]; then
+            bailout "Extra argument. Try $PROGNAME --help for more info."
+         else
+            TIME=$option
+         fi;;
+  esac 
 done    
 
 if [ "x$TIME" = x ]; then
@@ -170,87 +164,91 @@ message 20 "BACKUP_FILES=$BACKUP_FILES"
 
  set - ${BACKUP_DIRS}
  while [ $# -ne 0 ] ; do
-    date="`date`"
-    fs="`echo \"${1}\" | sed -e 's/^.*://'`"
-    fsname="`echo \"${1}\" | sed -e 's/\//:/g'`"
-    remotehost="`expr \"${1}\" : '\([^/][^/]*\):.*'`"
-    if [ -z "$remotehost" ]; then
-       remotehost=$localhost
-    fi
+     date="`date`"
+     fs="`echo \"${1}\" | sed -e 's/^.*://'`"
+     fsname="`echo \"${1}\" | sed -e 's/\//:/g'`"
+     remotehost="`expr \"${1}\" : '\([^/][^/]*\):.*'`"
+     if [ -z "$remotehost" ]; then
+        remotehost=$localhost
+     fi
         
-    echo "Backing up ${1} at ${date}"
-    message 10 "fs=$fs"
-    message 10 "fsname=$fsname"
-    message 10 "remotehost=$remotehost"
-    if [ $DUMP_LEVEL -eq 0 ]; then
-       make_level_log ${remotehost}
-    else
-       LF=`level_log_name ${fsname} 0`
-       pdate=`remote_run "${remotehost}" ls -l $LF | awk '{
+     echo "Backing up ${1} at ${date}"
+     message 10 "fs=$fs"
+     message 10 "fsname=$fsname"
+     message 10 "remotehost=$remotehost"
+     if [ $DUMP_LEVEL -eq 0 ]; then
+        make_level_log ${remotehost}
+     else
+        LF=`level_log_name ${fsname} 0`
+        pdate=`remote_run "${remotehost}" ls -l $LF | awk '{
            printf("%s", $6)
            for (i=7;i<NF;i++)
                printf(" %s", $i)
            print "" }'`
-       echo "Last `prev_level` dump on this filesystem was on $pdate"
-       remote_run "${remotehost}" cp $LF "`level_log_name temp`"
-    fi
+        echo "Last `prev_level` dump on this filesystem was on $pdate"
+        remote_run "${remotehost}" cp $LF "`level_log_name temp`"
+     fi
        
-    backup_host ${remotehost} \
+     ${DUMP_BEGIN-:} $DUMP_LEVEL $remotehost $fs $fsname
+     backup_host ${remotehost} \
                 "--listed=`level_log_name temp`" \
-                "--label='`print_level` backup of ${fs} on ${remotehost} at ${date}'" \
+                "--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
-    # stupid lossage.  TODO: think of a reliable workaround.
-    if [ $? -ne 0 ] ; then
-       echo "Backup of ${1} failed." 1>&2
-       # I'm assuming that the tar will have written an empty
-       # file to the tape, otherwise I should do a cat here.
-    else
-       flush_level_log ${remotehost} ${fsname}
-    fi
-    ${MT_STATUS}
-    echo "sleeping ${SLEEP_TIME} seconds"
-    sleep ${SLEEP_TIME}
-    shift
+     # `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
+         # I'm assuming that the tar will have written an empty
+         # file to the tape, otherwise I should do a cat here.
+     else
+         flush_level_log ${remotehost} ${fsname}
+     fi
+     ${MT_STATUS}
+     ${DUMP_END-:} $DUMP_LEVEL $remotehost $fs $fsname
+     echo "sleeping ${SLEEP_TIME} seconds"
+     sleep ${SLEEP_TIME}
+     shift
  done
 
  # Dump any individual files requested.
 
  if [ "x${BACKUP_FILES}" != "x" ] ; then
-    message 1 "processing individual files"
+     message 1 "processing individual files"
 
-    date="`date`"
+     date="`date`"
 
-    make_level_log $localhost
+     make_level_log $localhost 
 
-    echo "Backing up miscellaneous files at ${date}"
+     echo "Backing up miscellaneous files at ${date}"
     
-    backup_host $localhost \
+     ${DUMP_BEGIN-:} $DUMP_LEVEL $localhost MISC MISC
+     backup_host $localhost \
                "--listed=`level_log_name temp`"\
-               "--label='`print_level` backup of miscellaneous files at ${date}'" \
+               "--label='`print_level` backup of miscellaneous files at ${NOW}'" \
                ${BACKUP_FILES}
 
-    if [ $? -ne 0 ] ; then
-       echo "Backup of miscellaneous files failed."
-       # I'm assuming that the tar will have written an empty
-       # file to the tape, otherwise I should do a cat here.
-    else
-       flush_level_log $localhost
-    fi
-    ${MT_STATUS}
+     if [ $? -ne 0 ] ; then
+        echo "Backup of miscellaneous files failed."
+        # I'm assuming that the tar will have written an empty
+        # file to the tape, otherwise I should do a cat here.
+     else
+        flush_level_log $localhost MISC
+     fi
+     ${MT_STATUS}
+     ${DUMP_END-:} $DUMP_LEVEL $localhost MISC MISC
  else
-    echo "No miscellaneous files specified"
+     echo "No miscellaneous files specified"
  fi
 
  message 1 "final cleanup"
 
  $MT_REWIND "${TAPE_FILE}" 
  $MT_OFFLINE "${TAPE_FILE}"
-
+ echo "."
 ) 2>&1 | tee -a "${LOGFILE}"
 
 echo "Sending the dump log to ${ADMINISTRATOR}"
 mail -s "Results of backup started ${startdate}" ${ADMINISTRATOR} < "${LOGFILE}"
 
-# eof
+# EOF
This page took 0.033169 seconds and 4 git commands to generate.