Add backup script, fix Caddy routing
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# Backup script for /opt/infra
|
||||
# Run daily via cron
|
||||
|
||||
BACKUP_DIR=/opt/backups
|
||||
RETENTION_DAYS=7
|
||||
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||
BACKUP_FILE="$BACKUP_DIR/infra_backup_$TIMESTAMP.tar.gz"
|
||||
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
# Create backup
|
||||
tar -czf "$BACKUP_FILE" -C /opt infra 2>/dev/null
|
||||
|
||||
# Backup Docker volumes
|
||||
for vol in infra_caddy_data infra_caddy_config infra_gitea_data infra_gitea_config infra_uptime_kuma_data; do
|
||||
vol_path=$(sudo docker volume inspect $vol --format '{{.Mountpoint}}' 2>/dev/null)
|
||||
if [ -n "$vol_path" ] && [ -d "$vol_path" ]; then
|
||||
vol_backup="$BACKUP_DIR/${vol}_${TIMESTAMP}.tar.gz"
|
||||
sudo tar -czf "$vol_backup" -C "$vol_path" . 2>/dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
# Cleanup old backups
|
||||
find "$BACKUP_DIR" -name "*.tar.gz" -mtime +$RETENTION_DAYS -delete 2>/dev/null
|
||||
|
||||
echo "Backup completed: $BACKUP_DIR ($(du -sh $BACKUP_DIR | cut -f1))"
|
||||
Reference in New Issue
Block a user