#!/bin/bash
if [ `whoami` == root ] ; then
	echo "rdiff-backup running"
	bakdev='/media/bak/12.04-2'
	rdiffBackupLog='/home/uhu/Desktop/rdiff_backup.log'
	pfx=''
	
	while [ true ]
	do
		if [ -d $bakdev/home ] ; then
			break
		fi
		echo "$bakdev/home not accessable. Continue? (y/n)"
		read dummy
		if [ $dummy = 'n' ] ; then
			echo '*** Aborted ***'
			exit 0
		fi
	done
	
	shutdwn=false
	shutdownWait=360
	while getopts "TsSlL:R:" options; do
	  case $options in
	    s ) shutdwn=true
		;;
	    S) shutdwn=true
			 shutdownWait=0
		;;
	    l)  echo -n "$bakdev/home/uhu: "
		$pfx rdiff-backup -l $bakdev/home/uhu
		echo -n "$bakdev/etc: "
		$pfx rdiff-backup -l $bakdev/etc
		echo "Statistics? (y/n)"
		read dummy
		if [ $dummy = 'y' ] ; then
			less $bakdev/home/uhu/rdiff-backup-data/backup.log $bakdev/etc/rdiff-backup-data/backup.log
		fi
		exit 0
		;;
	    L) $pfx rdiff-backup --list-changed-since $OPTARG $bakdev/home/uhu
		exit 0
		;;
	    T) pfx=echo
		;;
	    R) $pfx rdiff-backup --remove-older-than $OPTARG --force $bakdev/home/uhu
		exit 0
		;;
	   \? ) echo  
		echo "usage: $0 [-T] [-s|S] [-L 5D | -R 2W]"
		echo "    T:    diplays commands, but doesn't execute"
		echo "    S:    shutdown, after completion"
		echo "    l 5D: lists all the files under out-dir/subdir which has changed in the last 5 days"
		echo "    R 2W: deletes all information concerning file versions which have not been current for 2 weeks"
		echo
		exit 1
		;;
	  esac
	done

	$pfx nice -n 10 rdiff-backup --print-statistics --exclude-globbing-filelist-stdin /home/uhu $bakdev/home/uhu <<-EOF
		/pfad1/der/vom/backup/ausgeschlossen/sein/soll
		/pfad2/der/vom/backup/ausgeschlossen/sein/soll
		EOF
	echo '/home/uhu:' >$rdiffBackupLog
	cat $bakdev/home/uhu/rdiff-backup-data/backup.log >>$rdiffBackupLog
	
	$pfx nice -n 10 rdiff-backup --print-statistics /etc $bakdev/etc
	echo '/etc:' >>$rdiffBackupLog
	cat $bakdev/etc/rdiff-backup-data/backup.log >>$rdiffBackupLog

	#$pfx nice -n 10 rdiff-backup --print-statistics /var/lib/mysql $bakdev/etc
	#echo '/etc:' >>$rdiffBackupLog
	#cat $bakdev/etc/rdiff-backup-data/backup.log >>$rdiffBackupLog

	if $shutdwn ; then
		while [ $shutdownWait -gt 0 ] 
		do
			echo -e "*** shutting down in $shutdownWait seconds ***\a"
			sleep 0.5
			echo -e "\a\c"
			((shutdownWait=$shutdownWait-30))
			sleep 29.5
		done
		#truecrypt -f -d 
		sleep 20
		$pfx shutdown -P now
	fi

	echo 'return to continue'
	read dummy
	exit 0
fi
sudo $0 "$@"
exit 0
