"vault backup: 2026-03-31 15:15:10 from Flow"

This commit is contained in:
2026-03-31 15:15:10 -05:00
parent 5ecb7652f4
commit 5f735f0699

View File

@@ -0,0 +1,64 @@
#!/bin/bash
# --- CONFIG ---
TARGET_DIR="/home/artanis/Inanis_Vault/JW_Backups"
MASTER_NAME="master.jwlibrary"
LIB_SOURCE="/usr/local/lib/libjwlCore.so"
# 1. Environment & Pathing
export PATH=$PATH:/usr/local/bin:/usr/bin:/bin
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
cd "$TARGET_DIR" || exit 1
# 2. Update Repo
git pull origin main
# 3. Rename messy filenames (Spaces/Brackets)
shopt -s nullglob
counter=1
for f in *.jwlibrary; do
if [[ "$f" != "$MASTER_NAME" && "$f" != incoming_* ]]; then
mv "$f" "incoming_$counter.jwlibrary"
((counter++))
fi
done
shopt -u nullglob
# 4. Identify standardized files
INCOMING_FILES=$(ls incoming_*.jwlibrary 2>/dev/null)
if [ -z "$INCOMING_FILES" ]; then
echo "No new device backups found. Exiting."
exit 0
fi
# 5. Satisfy Binary & Merge
ln -sf "$LIB_SOURCE" ./libjwlCore.so
FILE_COUNT=$(echo "$MASTER_NAME $INCOMING_FILES" | wc -w)
if [ -f "$MASTER_NAME" ] && [ "$FILE_COUNT" -gt 1 ]; then
jwlFusion -o:"master_tmp" "$MASTER_NAME" $INCOMING_FILES
elif [ ! -f "$MASTER_NAME" ] && [ $(echo "$INCOMING_FILES" | wc -w) -gt 1 ]; then
jwlFusion -o:"master_tmp" $INCOMING_FILES
else
# Recovery: If only 1 file exists and no master, promote it
cp $INCOMING_FILES "$MASTER_NAME"
echo "Promoted single file to master."
fi
# 6. Cleanup & Finalize
rm -f ./libjwlCore.so incoming_*.jwlibrary
if [ -f "master_tmp.jwlibrary" ]; then
mv "master_tmp.jwlibrary" "$MASTER_NAME"
fi
# 7. Git Push
if git status --porcelain | grep -q .; then
git add -A
git commit -m "Automated Sync: $(date +'%Y-%m-%d %H:%M')"
git push origin main
echo "Sync successful. Master updated and pushed."
else
echo "No changes detected in master."
fi