Files
linux-install-helper/affine/backup.sh

35 lines
797 B
Bash
Raw Normal View History

2025-05-04 20:39:25 +02:00
#!/bin/bash
# Note: use rclone for backup, needs manually configuration.
UPLOAD=""
CONFIG=""
LOCAL_BACKUP="$HOME/.local/backup"
REMOTE=""
DB_USERNAME=""
DB_PASSWORD=""
DB_DATABASE=""
CONTAINER_POSTGRES=""
SERVICE_SERVER=""
STAGING_DIR=$(mktemp -d)
mkdir -p $LOCAL_BACKUP
DATE=$(date +%F-%H-%M-%S)
BACKUP_NAME="backup_$DATE.tar.gz"
systemctl --user stop $SERVICE_SERVER
podman exec $CONTAINER_POSTGRES pg_dump -U $DB_USERNAME -F c -d $DB_DATABASE > $STAGING_DIR/db.dump
2025-05-04 21:06:49 +02:00
cp -r "$UPLOAD" "$STAGING_DIR/storage"
2025-05-04 20:39:25 +02:00
cp -r "$CONFIG" "$STAGING_DIR/config"
tar -czf "$LOCAL_BACKUP/$BACKUP_NAME" -C "$STAGING_DIR" .
ls -1t "$LOCAL_BACKUP"/backup_*.tar.gz | tail -n +6 | xargs -r rm --
/usr/bin/rclone sync $LOCAL_BACKUP $REMOTE > /dev/null
rm -rf $STAGING_DIR
systemctl --user start $SERVICE_SERVER