Initial resurrection kit — 81 scripts, 62 references, configs, systemd units, crons, Docker compose files, Caddy config, master README
This commit is contained in:
Executable
+49
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
# home-router-backup.sh — Backup CCR config via WireGuard tunnel
|
||||
# Uses the wg-itpp tunnel to reach the router at 10.77.0.2
|
||||
|
||||
DATE=$(date +%Y-%m-%d)
|
||||
LOG="$HOME/.hermes/scripts/logs/home-router-backup-$DATE.log"
|
||||
BACKUP_DIR="/tmp/home-router-backup"
|
||||
SSH_KEY="$HOME/.ssh/wisp_rsa"
|
||||
ROUTER="admin@10.77.0.2"
|
||||
|
||||
mkdir -p "$BACKUP_DIR" "$(dirname "$LOG")"
|
||||
|
||||
echo "=== Home Router Backup $(date -u '+%Y-%m-%d %H:%M:%S UTC') ===" >> "$LOG"
|
||||
|
||||
# Check tunnel is up
|
||||
ping -c 1 -W 3 10.77.0.2 > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "FAILED: WireGuard tunnel down (10.77.0.2 unreachable)" >> "$LOG"
|
||||
echo "Home Router Backup FAILED — tunnel down"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Export config
|
||||
ssh -i "$SSH_KEY" -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
|
||||
"$ROUTER" "/export terse file=itpp-backup-$DATE" >> "$LOG" 2>&1
|
||||
|
||||
# Download the export
|
||||
scp -i "$SSH_KEY" -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
|
||||
"$ROUTER:itpp-backup-$DATE.rsc" "$BACKUP_DIR/" >> "$LOG" 2>&1
|
||||
|
||||
# Clean up remote file
|
||||
ssh -i "$SSH_KEY" -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
|
||||
"$ROUTER" "/file remove itpp-backup-$DATE.rsc" >> "$LOG" 2>&1
|
||||
|
||||
# Upload to S3
|
||||
source /opt/awscli-venv/bin/activate 2>/dev/null
|
||||
aws s3 cp "$BACKUP_DIR/itpp-backup-$DATE.rsc" \
|
||||
"s3://itpropartner-backups/home-router/$DATE-config.rsc" \
|
||||
--endpoint-url https://s3.us-east-1.wasabisys.com >> "$LOG" 2>&1
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "SUCCESS — uploaded to S3" >> "$LOG"
|
||||
rm -f "$BACKUP_DIR/itpp-backup-$DATE.rsc"
|
||||
echo "[SILENT]"
|
||||
else
|
||||
echo "FAILED: S3 upload error" >> "$LOG"
|
||||
echo "Home Router Backup FAILED — S3 upload"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user