feature: Makes upload code more dynamic.

This commit is contained in:
greysoh 2024-07-13 23:35:32 -04:00
parent bbb2084ba7
commit 6db5703527
Signed by: imterah
GPG key ID: 8FA7DD57BA6CEA37

View file

@ -1,9 +1,14 @@
#!/usr/bin/env bash
KITTEH_NODE_1=192.168.0.20
KITTEH_NODE_2=192.168.0.21
if [ "$BASE_IP" = "" ]; then
BASE_IP=192.168.0.20
fi
KITTEH_NODE_1_BASEID=100
KITTEH_NODE_2_BASEID=100
IP_LAST_OCTET="${BASE_IP##*.}"
IP_MAIN_OCTET="${BASE_IP%.*}"
IP_LAST_OCTET=$((IP_LAST_OCTET-1))
BASE_ID=100
cp meta/tagged_for_upload /tmp/upload_cache
@ -11,32 +16,22 @@ while IFS= read -r LINE; do
UPLOAD_PATH="/var/lib/vz/dump/vzdump-qemu-$(basename $LINE .vma.zst)-$(date +"%Y_%m_%d-%H_%M_%S").vma.zst"
echo "Uploading VM dump '$LINE'..."
if [ "$(dirname $LINE)" = "out/kitteh-node-1" ]; then
rsync --info=progress2 $LINE root@$KITTEH_NODE_1:$UPLOAD_PATH
else
rsync --info=progress2 $LINE root@$KITTEH_NODE_2:$UPLOAD_PATH
fi
CURRENT_NODE="$(dirname $LINE)"
CURRENT_NODE="${CURRENT_NODE##*-}"
IP="$IP_MAIN_OCTET.$((IP_LAST_OCTET+CURRENT_NODE))"
rsync --info=progress2 $LINE root@$IP:$UPLOAD_PATH
if [[ "$@" == *"--install"* ]] || [[ "$@" == *"-i"* ]]; then
echo "Installing VM dump '$LINE'..."
if [ "$(dirname $LINE)" = "out/kitteh-node-1" ]; then
ssh -n root@$KITTEH_NODE_1 "qmrestore $UPLOAD_PATH $KITTEH_NODE_1_BASEID --force --unique"
KITTEH_NODE_1_BASEID=$((KITTEH_NODE_1_BASEID+1))
else
ssh -n root@$KITTEH_NODE_2 "qmrestore $UPLOAD_PATH $KITTEH_NODE_2_BASEID --force --unique"
KITTEH_NODE_2_BASEID=$((KITTEH_NODE_2_BASEID+1))
fi
ssh -n root@$IP "qmrestore $UPLOAD_PATH $BASE_ID --force --unique"
BASE_ID=$((BASE_ID+1))
fi
if [[ "$@" == *"--delete"* ]] || [[ "$@" == *"-d"* ]]; then
echo "Deleting VM dump '$LINE'..."
if [ "$(dirname $LINE)" = "out/kitteh-node-1" ]; then
ssh -n root@$KITTEH_NODE_1 "rm -rf $UPLOAD_PATH"
else
ssh -n root@$KITTEH_NODE_2 "rm -rf $UPLOAD_PATH"
fi
ssh -n root@$IP "rm -rf $UPLOAD_PATH"
fi
ESCAPED_LINE=$(printf '%s\n' "$LINE" | sed -e 's/[\/&]/\\&/g')