X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=scripts%2Fbackup.sh.in;h=adcdfe2d5b9dbceb0d4502bdc5be412984f05588;hb=78b078b455b834695ebd3104ec3dbe8a4ac9f3a3;hp=540b1a25a1e30623031b6161dd2c1b3c3ccfeed6;hpb=120e96c480fbfc5fa31fba0f59ba1a45953b838e;p=chaz%2Ftar diff --git a/scripts/backup.sh.in b/scripts/backup.sh.in index 540b1a2..adcdfe2 100644 --- a/scripts/backup.sh.in +++ b/scripts/backup.sh.in @@ -1,6 +1,6 @@ #! /bin/sh # This program is part of GNU tar -# Copyright 2004, Free Software Foundation +# Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -27,19 +27,19 @@ LOGPATH=${CONFIGPATH}/log # Default functions for running various magnetic tape commands mt_begin() { - mt -f "$1" retension + $MT -f "$1" retension } mt_rewind() { - mt -f "$1" rewind + $MT -f "$1" rewind } mt_offline() { - mt -f "$1" offl + $MT -f "$1" offl } mt_status() { - mt -f "$1" status + $MT -f "$1" status } # The main configuration file may override any of these variables @@ -78,7 +78,7 @@ bailout() { # Return current date now() { -#IF_DATE_FORMAT_OK +#IF_DATE_FORMAT_OK date +%Y-%m-%d #ELSE_DATE_FORMAT_OK LC_ALL=C date | \ @@ -108,7 +108,7 @@ test_root() { root_fs() { echo "${ROOT_FS}$1" | tr -s / -} +} advice() { echo "Directory $1 is not found." >&2 @@ -139,7 +139,7 @@ init_common() { advice $LOGPATH exit 1 fi - fi + fi # Get the values of BACKUP_DIRS, BACKUP_FILES, and other variables. if [ ! -r $CONFIGFILE ]; then echo "$PROGNAME: cannot read $CONFIGFILE. Stop." >&2 @@ -151,7 +151,7 @@ init_common() { test_root - if [ x"${ADMINISTRATOR}" = x ]; then + if [ x"${ADMINISTRATOR}" = x ]; then bailout "ADMINISTRATOR not defined" fi @@ -159,7 +159,7 @@ init_common() { [ x"$SLEEP_TIME" = x ] && SLEEP_TIME=60 if [ x$VOLNO_FILE = x ]; then - bailout "VOLNO_FILE not specified" + bailout "VOLNO_FILE not specified" fi if [ -r $DIRLIST ]; then @@ -172,9 +172,23 @@ init_common() { if [ \( x"$BACKUP_DIRS" = x \) -a \( x"$BACKUP_FILES" = x \) ]; then bailout "Neither BACKUP_DIRS nor BACKUP_FILES specified" fi - if [ "$RSH" = "" ]; then + if [ -z "$RSH" ]; then RSH=rsh + MT_RSH_OPTION= + else + MT_RSH_OPTION="--rsh-command=$RSH" + fi + if [ -z "$TAPE_FILE" ]; then + TAPE_FILE=/dev/tape fi + + # If TAPE_FILE is a remote device, update mt invocation accordingly + : ${MT:=mt} + case $TAPE_FILE in + *:*) MT="$MT $MT_RSH_OPTION";; + *) ;; + esac + POSIXLY_CORRECT=1 export POSIXLY_CORRECT } @@ -239,7 +253,7 @@ wait_time() { diff = 3600 * (time[1] - now[1]) + 60 * (time[2] - now[2]); if (diff < 0) diff += 3600 * 24 - print diff + print diff }'`" clear echo "${SLEEP_MESSAGE}" @@ -306,7 +320,7 @@ print_level() { else echo "Level ${1-$DUMP_LEVEL}" fi -} +} prev_level() { print_level `expr $DUMP_LEVEL - 1` | tr A-Z a-z @@ -325,22 +339,9 @@ remote_run() { license() { cat - <. +There is NO WARRANTY, to the extent permitted by law. EOF }