diff --git a/backup.nix b/backup.nix index cb11c1c..6950b39 100644 --- a/backup.nix +++ b/backup.nix @@ -21,13 +21,30 @@ let config.services.postgresql.package s3cmd coreutils + mktemp ]; excludeShellChecks = [ "SC1091" ]; text = '' source "${backupConfigFile}" - pg_dump misskey | gzip | s3cmd put --config "$S3CFG" - "s3://$MISSKEY_BACKUP_BUCKET/\$\{MISSKEY_BACKUP_PREFIX}misskey-pgdump-$(date --iso-8601).sql.gz" + + dir="$(mktemp --directory)" + echo "Using temp dir '$dir'" + + trap EXIT "rm -rf '$dir'" + + echo "Copying config" + cp /srv/misskey/.config "$dir/config" -r + + echo "Dumping postgres database..." + pg_dump misskey | gzip > "$dir/postgres.sql.gz" + + echo "Copying redis database..." + cp /var/lib/redis-misskey "$dir/redis" -r + + tar -cz -C "$dir" . | \ + s3cmd put --config "$S3CFG" - "s3://$MISSKEY_BACKUP_BUCKET/\$\{MISSKEY_BACKUP_PREFIX}misskey-$(date --iso-8601).tar.gz" ''; }; in {