Add memos
This commit is contained in:
37
memos/backup.sh
Executable file
37
memos/backup.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Note: use rclone for backup, needs manually configuration.
|
||||
|
||||
export XDG_RUNTIME_DIR="/run/user/$(id -u)"
|
||||
export DBUS_SESSION_BUS_ADDRESS="unix:path=$XDG_RUNTIME_DIR/bus"
|
||||
|
||||
DATA=""
|
||||
DB=""
|
||||
LOCAL_BACKUP="$HOME/.local/backup"
|
||||
REMOTE=""
|
||||
DB_USERNAME=""
|
||||
DB_PASSWORD=""
|
||||
DB_DATABASE=""
|
||||
CONTAINER_DB=""
|
||||
SERVICE=""
|
||||
|
||||
STAGING_DIR=$(mktemp -d)
|
||||
mkdir -p $LOCAL_BACKUP
|
||||
DATE=$(date +%F-%H-%M-%S)
|
||||
BACKUP_NAME="backup_$DATE.tar.gz"
|
||||
|
||||
systemctl --user stop $SERVICE
|
||||
podman exec $CONTAINER_DB pg_dump -U $DB_USERNAME -F c -d $DB_DATABASE > $STAGING_DIR/db.dump
|
||||
|
||||
cp -r "$DATA" "$STAGING_DIR/data"
|
||||
cp -r "$DB" "$STAGING_DIR/db"
|
||||
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
|
||||
Reference in New Issue
Block a user