export PATH
#start the logfile
-echo `date`": Backup run starting"
-echo "Exclude pattern:"
-cat $exclude
-echo "End exclude pattern"
+echo `date`": Backup run starting" >&2
umask 027
backup()
{
- printf "%-${logw}s %s\n" "$computer:$filesystem" "$backuplevel backup"
+ echo -n `date` >&2
+ printf " $computer: %-${logw}s %s\n" "$computer:$filesystem" "$backuplevel backup" >&2
if [ "$backuplevel" = "daglig" ] || [ "$backuplevel" = "incremental" ]
then
TARFILE=$DATE.tmp
TARCMD="ssh $computer \"$tar --one-file-system -zcf - -C $filesystem . $lastcmd \
--exclude-from=$exf\" > $TARFILE"
- echo "cmdline: $TARCMD"
+ echo `date`" $computer: Running $TARCMD" >&2
if eval $TARCMD; then
mv $TARFILE $DATE.tgz
else
#it did not work
rm $TARFILE
- echo `date`": $TARFILE empty. $backuplevel backup of $computer:$filesystem failed and deleted"
+ echo `date`" $computer: $TARFILE empty. $backuplevel backup of $computer:$filesystem failed and deleted"
# We don't want to return 0
R=1
for computer in $unixcomputers
do
(
- echo `date`": Backing up $computer"
+ echo `date`" $computer: Backing up $computer" >&2
# Try to SSH to the computer without entering a password.
- if `ssh -n -o NumberOfPasswordPrompts=0 $computer /bin/true`; then
- echo "Passwordless SSH to $computer works."
- else
- echo "Could not use passwordless SSH to $computer."
+ if ! `ssh -n -o NumberOfPasswordPrompts=0 $computer /bin/true`; then
+ echo `date`" $computer: Could not use passwordless SSH."
# We don't want to return 0
R=1
| grep -v "^$" \
| awk '{ if ( $(NF-1) != "0" ) print $2}' `
- echo "Filesystems to backup on $computer: $filesystems"
-
#clean up our dir at this client
if ! ssh $computer "rm -r ~/.backup ; mkdir -m 700 ~/.backup"; then
- echo "Could not create backup staging area at $computer:~/.backup"
+ echo `date`" $computer: Could not create backup staging area at $computer:~/.backup"
# We don't want to return 0
R=1
break;
#try to copy $exclude to $computer
if ! scp $exclude $computer:~/.backup/exclude > /dev/null; then
- echo "Could not copy exclude.txt to $computer"
+ echo `date`" $computer: Could not copy exclude.txt to $computer"
# We don't want to return 0
R=1
break;
# TODO: Gah, clean this mess!
[ -f $confdir/preexec.$computer ] && (
scp $confdir/preexec.$computer $computer:~/.backup/preexec ||
- ( echo "Could not copy preexec.$computer to $computer:~/.backup/preexec";
+ ( echo `date`" $computer: Could not copy preexec.$computer to $computer:~/.backup/preexec";
R=1
break
)
)
[ -f $confdir/postexec.$computer ] && (
scp $confdir/postexec.$computer $computer:~/.backup/postexec ||
- ( echo "Could not copy postexec.$computer to $computer:~/.backup/postexec"
+ ( echo `date`" $computer: Could not copy postexec.$computer to $computer:~/.backup/postexec"
break
R=1
)
for full in `ls -1t $storagedir/$computer/$sfilesystem/full/*tgz | tail +$mf`
do
prefix=`echo $full | sed "s/\.[^.]*$//"`
- echo "$computer:$filesystem sletter full $prefix (for mange)"
+ echo `date`": $computer:$filesystem sletter full $prefix (for mange)" >&2
rm $prefix*
done
wait
-# print diskusage to logfile
-echo "Current disk usage:"
-df -k $storagedir
-
# Remove lockfile
rm $LOCKFILE
echo `date`": Backup run ended with errors, check logs."
exit 1
else
- echo `date`": Backup run ended"
+ echo `date`": Backup run ended" >&2
fi