#!/bin/sh # number of backpus per level n=7 backupDir=${1:-~/.backup} mkdir -p $backupDir cd $backupDir pos=$(($(cat pos 2>/dev/null || echo 0)+1)) next_level() ( level=$1 distance=$(echo "$n^$level" | bc) if [ $(($pos%$distance)) -eq 0 ]; then next_level $(($level+1)) if [ -e $(($level-1))-0 ]; then rm -rf $level-$((($pos/$distance)%$n)) mv $(($level-1))-0 $level-$((($pos/$distance)%$n)) fi fi ) next_level 1 ssh nightbuild@minidvblinux.de ' cd backup mkdir -p db for db in bug cms data forum; do mysqldump -u $db -p$db mld_$db > db/$db.sql done ' rsync -acLz --skip-compress=bz2/gz/iso/jpg/opk/png/sfs/tgz --delete -e ssh nightbuild@minidvblinux.de:backup/ 0-$(($pos%$n)) --link-dest=../0-$((($pos-1)%$n)) 2>&1 | grep -v adding touch 0-$(($pos%$n)) echo $pos > pos