wok rev 5677

mirror-tools/backup.sh: relative paths
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Jun 02 10:50:33 2010 +0200 (2010-06-02)
parents 4f9e5b98f4a3
children 872280fb02fc
files mirror-tools/stuff/home/backups/mirror/backup.sh
line diff
     1.1 --- a/mirror-tools/stuff/home/backups/mirror/backup.sh	Tue Jun 01 16:38:44 2010 +0200
     1.2 +++ b/mirror-tools/stuff/home/backups/mirror/backup.sh	Wed Jun 02 10:50:33 2010 +0200
     1.3 @@ -8,14 +8,15 @@
     1.4  backup_data()
     1.5  {
     1.6  while read file dirs; do
     1.7 -	find $dirs  | cpio -o -H newc | rgzip -9 > $file.cpio.gz 2> /dev/null
     1.8 +	( cd / ; find $dirs  | cpio -o -H newc ) | \
     1.9 +		rgzip -9 > $file.cpio.gz 2> /dev/null
    1.10  done <<EOT
    1.11 -etc		/etc /home/$BACKUP_USER/.ssh
    1.12 -www		/var/www/mirror-info /var/www/pizza
    1.13 -packages	/var/lib/tazpkg/installed
    1.14 -rrd		/var/spool/rrd
    1.15 -crontabs	/var/spool/cron/crontabs
    1.16 -awstats		/var/lib/awstats
    1.17 +etc		etc home/$BACKUP_USER/.ssh
    1.18 +www		var/www/mirror-info var/www/pizza
    1.19 +packages	var/lib/tazpkg/installed
    1.20 +rrd		var/spool/rrd
    1.21 +crontabs	var/spool/cron/crontabs
    1.22 +awstats		var/lib/awstats
    1.23  EOT
    1.24  }
    1.25  
    1.26 @@ -34,7 +35,9 @@
    1.27  	local i
    1.28  	local j
    1.29  	for j in $(seq $(($1 - 1)) -1 1); do
    1.30 -		for i in *.$2.$(($j - 1)) ; do mv -f $i ${i%.$2.*}.$2.$j; done
    1.31 +		for i in *.$2.$(($j - 1)) ; do
    1.32 +			[ -e $i ] && mv -f $i ${i%.$2.*}.$2.$j; done
    1.33 +		done
    1.34  	done
    1.35  }
    1.36  
    1.37 @@ -44,6 +47,7 @@
    1.38  	days=$2
    1.39  	keep=$3
    1.40  	for i in *.gz ; do
    1.41 +		[ -e $i ] || continue
    1.42  		mtime=$(( $(stat -c %Y $i) - ($days * 24 * 3600) ))
    1.43  		j=$i.$suffix.0
    1.44  		[ -e $j ] && [ $(stat -c %Y $j) -gt $mtime ] && continue
    1.45 @@ -53,7 +57,9 @@
    1.46  done
    1.47  if [ 0$KEEP -gt 0 ]; then
    1.48  	[ $KEEP -gt 1 ] && rotate $KEEP gz
    1.49 -	for i in *.gz ; do mv -f $i $i.0; done
    1.50 +	for i in *.gz ; do
    1.51 +		[ -e $i ] && mv -f $i $i.0
    1.52 +	done
    1.53  fi
    1.54  
    1.55  backup_data
    1.56 @@ -61,7 +67,7 @@
    1.57  chown $BACKUP_USER *
    1.58  chmod 700 *
    1.59  
    1.60 -for i in $(cd .. ; ls); do
    1.61 +[ -n "$REMOTE_USER" ] && for i in $(cd .. ; ls); do
    1.62  	[ $i == $(hostname) ] && continue
    1.63  	rsync -aH -e "$SSH" --bwlimit=50 $REMOTE_USER@$i.slitaz.org:/home/backups/$i/. ../$i/.
    1.64  done