summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2018-03-14 21:36:20 +0100
committerErich Eckner <git@eckner.net>2018-03-14 21:36:20 +0100
commitf9e9ddedd29dd8c11a31f83df20e51d774d15577 (patch)
tree4fe823cfab92d2ebf047e561beab9515da57bd49
parent7582aa65fb1043904fb1c9fa617c14adda313efa (diff)
downloadcopyPhotos-f9e9ddedd29dd8c11a31f83df20e51d774d15577.tar.xz
Umstrukturiert
-rwxr-xr-xcopyPhotos45
1 files changed, 20 insertions, 25 deletions
diff --git a/copyPhotos b/copyPhotos
index 395336d..1ca2dfd 100755
--- a/copyPhotos
+++ b/copyPhotos
@@ -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_@' | \