#!/bin/sh
#
# Datei: backup.0
# Autor: Holger Klawitter <info@klawitter.de>
# Datum: 2001-10-05
#
# Erstellung von Backups andhand von Positiv- und Negativlisten.
#

backupdir=/home/holger/Vortrag/backups

if [ "$#" == 0 ]; then
	echo "Mögliche Backups:"
	cd $backupdir/config
	for i in *.ja; do
		basename $i .ja
		grep "^#" $i | sed 's/^#/ /'
	done
	exit 0
fi

for i in "$@"; do

	jaliste="$backupdir/config/$i.ja"
	neinliste="$backupdir/config/$i.nein"

	if [ ! -r "$jaliste" ]; then
		echo "Datei $jaliste nicht gefunden." >&2
		continue
	fi

	datum="`date +%Y-%m-%d`"
	backupdatei="$backupdir/data/$i.$datum.tgz"

	unset exclude
	if [ -r "$neinliste" ]; then
		exclude="--exclude-from=$neinliste"
	fi

	tar -cz \
		$exclude \
		-f "$backupdatei" \
		`grep -v '^#' $jaliste` \
		2>/dev/null

	if [ $? != 0 ]; then
		echo "Problem beim Backup von $i" >&2
		exit 1
	fi
done

echo "Fertig" >&2
