unix/rsyncT

#
# rsync test Fälle
#
#     cd /wkData/www/inf/unix
#     ./rsyncT i        # initialize/clear src and dst folders
#     ./rsyncT 1        # rsync to version 1
#                            copy fileHist/fh1 to $src folder
#                           show diff
#                           rsyn $src to $dst
#                           show diff
#     ./rsyncT 2        # rsync to version 2 mit unveränderten/veränderten/gelöschten und neuen Files/Folders - analog 1
#     ./rsyncT 0        # rsync to version 0 which is empty - analog 1
#
##################################

function err() {
    echo "error: $*"
    exit 99
}

tfg=/wkData/inf/test/fileHist
src=/wkData/tst/rsync/src
dst=/wkData/tst/rsync/dst

echo "$0 $* begin " $(date +"%F %T")

case $1 in
    i)     echo "i --- initialise"
        rm -r $src
        rm -r $dst
        mkdir -p $src    
        mkdir -p $dst ;;
    0 | 1 | 2) echo "$1 --- copy $1 and rsync"
        rm -r $src
        mkdir -p $src    
        cp -aT $tfg/fh$1/ $src/
            # -T so it map fh1 -> $src and not fh1 -> $scr/fh1 !!! trailing slash is irrelevant
        echo "--- cp \$? $? .... diff"
        diff -r $src/ $dst/    
        echo "diff \$? $? ... rsync"    
        rsync -av --del $src/ $dst/ 
            # -a archive : make destination as similair as possible
            # --del : delete in destination
            # / to map $src -> $dst and not $src -> $dst/src !!!
        echo "rsync \$? $? ... diff"
        diff -r $src/ $dst/    
        echo "diff \$? $?" ;;
    *) err "bad arg $1"
esac

exit