diff options
author | Erich Eckner <git@eckner.net> | 2018-03-14 21:36:20 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2018-03-14 21:36:20 +0100 |
commit | f9e9ddedd29dd8c11a31f83df20e51d774d15577 (patch) | |
tree | 4fe823cfab92d2ebf047e561beab9515da57bd49 | |
parent | 7582aa65fb1043904fb1c9fa617c14adda313efa (diff) | |
download | copyPhotos-f9e9ddedd29dd8c11a31f83df20e51d774d15577.tar.xz |
Umstrukturiert
-rwxr-xr-x | copyPhotos | 45 |
1 files changed, 20 insertions, 25 deletions
@@ -7,7 +7,6 @@ set -e verwendung() { echo 'copyPhotos [-i]' - echo ' -i übergehe bereits vorhandene Dateien ohne zu meckern' echo ' -f übergehe Kopieren zum Fileserver' echo ' -z übergehe Kopieren zum Zweitbackup' exit 1 @@ -25,21 +24,17 @@ unset jahre declare -A daten declare -A jahre -ignoriere=false fileserver=true stefanie=true eval set -- "$( - getopt -o ifz -n "$(basename "$0")" -- "$@" || \ + getopt -o fz -n "$(basename "$0")" -- "$@" || \ echo verwendung )" while true do case "$1" in - -i) - ignoriere=true - ;; -f) fileserver=false ;; @@ -98,6 +93,12 @@ cd "${zielVerzeichnis}" echo "${summen}" | \ sha512sum -c +tmp_dir=$(mktemp -d) +trap 'rm -rf --one-file-system "${tmp_dir:?}"' EXIT + +tar -cf - "${!jahre[@]}" --xform='s@^\([0-9]\{4\}\)_@\1/\1_@' | \ + tar -C "${tmp_dir}" -x + pingErg=0 if ${fileserver} then @@ -109,6 +110,18 @@ fi [ ${pingErg} -gt 1 ] && exit ${pingErg} +if [ ${pingErg} -eq 0 ] +then + + rsync --ignore-existing -avc "${tmp_dir}/" "${endHost}:${endZielVerzeichnis}/" + + echo "${summen}" | \ + sed 's@^\([0-9a-f]\+ \+\)\([0-9]\{4\}\)_@\1'"${endZielVerzeichnis}"'/\2/\2_@' | \ + ssh "${endHost}" 'sha512sum -c' + +fi + +pingErg=0 if ${stefanie} then ping -c1 "${zweitHost#*@}" > /dev/null || \ @@ -122,25 +135,7 @@ fi if [ ${pingErg} -eq 0 ] then - tar -czf - "${!jahre[@]}" --xform='s@^\([0-9]\{4\}\)_@\1/\1_@' | \ - ssh "${endHost}" ' - cd "'"${endZielVerzeichnis}"'" && \ - tar -xzvkf - && - sync - ' || \ - ${ignoriere} - - tar -czf - "${!jahre[@]}" --xform='s@^\([0-9]\{4\}\)_@\1/\1_@' | \ - ssh "${zweitHost}" ' - cd "'"${zweitZielVerzeichnis}"'" && \ - tar -xzvkf - && - sync - ' || \ - ${ignoriere} - - echo "${summen}" | \ - sed 's@^\([0-9a-f]\+ \+\)\([0-9]\{4\}\)_@\1'"${endZielVerzeichnis}"'/\2/\2_@' | \ - ssh "${endHost}" 'sha512sum -c' + rsync --ignore-existing -avc "${tmp_dir}/" "${zweitHost}:${zweitZielVerzeichnis}/" echo "${summen}" | \ sed 's@^\([0-9a-f]\+ \+\)\([0-9]\{4\}\)_@\1'"${zweitZielVerzeichnis}"'/\2/\2_@' | \ |