From a28487fe6fbac72c7b1a752acab42dcc6ab46476 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Wed, 28 May 2025 14:24:58 -0400 Subject: Post server fs corruption --- scripts/sync/diff.sh | 8 ++++++++ scripts/sync/pull.sh | 34 ++++++++++++++++++++++++++++++++++ scripts/sync/push.sh | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100755 scripts/sync/diff.sh create mode 100755 scripts/sync/pull.sh create mode 100755 scripts/sync/push.sh (limited to 'scripts/sync') diff --git a/scripts/sync/diff.sh b/scripts/sync/diff.sh new file mode 100755 index 0000000..61ff628 --- /dev/null +++ b/scripts/sync/diff.sh @@ -0,0 +1,8 @@ +#! /usr/bin/env sh +set -e +REMOTE="$(cat remote)" +if [ ! -d $REMOTE ]; then + echo "Path $REMOTE does not exist." + exit 1 +fi +diff --brief --recursive --new-file --no-dereference . $REMOTE diff --git a/scripts/sync/pull.sh b/scripts/sync/pull.sh new file mode 100755 index 0000000..1bf5b48 --- /dev/null +++ b/scripts/sync/pull.sh @@ -0,0 +1,34 @@ +#! /usr/bin/env sh + +set -e + +SOURCE="$(cat remote)/" +if [ ! -d $SOURCE ]; then + echo "Path $SOURCE does not exist." + exit 1 +fi + +ARGS=() +FORCE=0 +while getopts 'cfdr' opt; do + case "$opt" in + c) # Changes + ARGS+=('--delete') + ;; + f) # Full + ARGS+=('--checksum') + ;; + d) # Dry + ARGS+=('--dry-run') + ;; + r) # Revert + FORCE=1 + ;; + esac +done + +if [ $FORCE = 0 ]; then + ARGS+=('--update') +fi + +rsync --archive --itemize-changes "${ARGS[@]}" $SOURCE . diff --git a/scripts/sync/push.sh b/scripts/sync/push.sh new file mode 100755 index 0000000..3adbd02 --- /dev/null +++ b/scripts/sync/push.sh @@ -0,0 +1,34 @@ +#! /usr/bin/env sh + +set -e + +DEST="$(cat remote)" +if [ ! -d $DEST ]; then + echo "Path $DEST does not exist." + exit 1 +fi + +ARGS=() +FORCE=0 +while getopts 'cfdr' opt; do + case "$opt" in + c) # Changes + ARGS+=('--delete') + ;; + f) # Full + ARGS+=('--checksum') + ;; + d) # Dry + ARGS+=('--dry-run') + ;; + r) # Revert + FORCE=1 + ;; + esac +done + +if [ $FORCE = 0 ]; then + ARGS+=('--update') +fi + +rsync --archive --itemize-changes "${ARGS[@]}" ./ $DEST -- cgit v1.2.3-101-g0448