From 7582aa65fb1043904fb1c9fa617c14adda313efa Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 14 Mar 2018 21:23:58 +0100 Subject: auch auf usb-Platte kopieren --- copyPhotos | 44 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/copyPhotos b/copyPhotos index 647f3f9..395336d 100755 --- a/copyPhotos +++ b/copyPhotos @@ -8,13 +8,16 @@ verwendung() { echo 'copyPhotos [-i]' echo ' -i übergehe bereits vorhandene Dateien ohne zu meckern' - echo ' -n übergehe Kopieren zum Fileserver' + echo ' -f übergehe Kopieren zum Fileserver' + echo ' -z übergehe Kopieren zum Zweitbackup' exit 1 } zielVerzeichnis="/home/erich/Bilder" endHost="fileserver" endZielVerzeichnis="Bilder/Fotos" +zweitHost='stefanie@aries' +zweitZielVerzeichnis='/tmp/mount.dc3b07aa-52e5-4dab-9cd6-9354c116e94c/Bilder/Fotos' publicHost="ecknernet:backstage/downloadarea" unset daten @@ -24,8 +27,12 @@ declare -A jahre ignoriere=false fileserver=true +stefanie=true -eval set -- "$(getopt -o in -n "$(basename "$0")" -- "$@" || echo verwendung)" +eval set -- "$( + getopt -o ifz -n "$(basename "$0")" -- "$@" || \ + echo verwendung +)" while true do @@ -33,15 +40,18 @@ do -i) ignoriere=true ;; - -n) + -f) fileserver=false ;; + -z) + stefanie=false + ;; --) shift break ;; *) - echo 'FEHLER: Ich verstehe Parameter "'$1'" nicht.' + echo 'FEHLER: Ich verstehe Parameter "'"$1"'" nicht.' verwendung ;; esac @@ -81,6 +91,8 @@ summen="$( done )" +echo 'Danke, der Photoapparat kann wieder ab.' >&2 + cd "${zielVerzeichnis}" echo "${summen}" | \ @@ -97,13 +109,31 @@ fi [ ${pingErg} -gt 1 ] && exit ${pingErg} +if ${stefanie} +then + ping -c1 "${zweitHost#*@}" > /dev/null || \ + pingErg=$? +else + pingErg=1 +fi + +[ ${pingErg} -gt 1 ] && exit ${pingErg} + if [ ${pingErg} -eq 0 ] then tar -czf - "${!jahre[@]}" --xform='s@^\([0-9]\{4\}\)_@\1/\1_@' | \ ssh "${endHost}" ' cd "'"${endZielVerzeichnis}"'" && \ - tar -xzkf - && + tar -xzvkf - && + sync + ' || \ + ${ignoriere} + + tar -czf - "${!jahre[@]}" --xform='s@^\([0-9]\{4\}\)_@\1/\1_@' | \ + ssh "${zweitHost}" ' + cd "'"${zweitZielVerzeichnis}"'" && \ + tar -xzvkf - && sync ' || \ ${ignoriere} @@ -112,6 +142,10 @@ then sed 's@^\([0-9a-f]\+ \+\)\([0-9]\{4\}\)_@\1'"${endZielVerzeichnis}"'/\2/\2_@' | \ ssh "${endHost}" 'sha512sum -c' + echo "${summen}" | \ + sed 's@^\([0-9a-f]\+ \+\)\([0-9]\{4\}\)_@\1'"${zweitZielVerzeichnis}"'/\2/\2_@' | \ + ssh "${zweitHost}" 'sha512sum -c' + fi while true -- cgit v1.2.3-54-g00ecf