Add scripts for generating database dumps
This commit is contained in:
parent
c407f55c84
commit
77caafb019
3 changed files with 256 additions and 1 deletions
25
scripts/guix-data-service-backup-database
Executable file
25
scripts/guix-data-service-backup-database
Executable file
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -eux
|
||||
|
||||
DATABASE_NAME=guix_data_service
|
||||
DEFAULT_BACKUP_DIRECTORY="/var/lib/guix-data-service/dumps"
|
||||
BACKUP_DIRECTORY="${GUIX_DATA_SERVICE_BACKUP_DIRECTORY:-$DEFAULT_BACKUP_DIRECTORY}"
|
||||
|
||||
DATE="$(date "+%Y-%m-%d")"
|
||||
|
||||
FULL_BACKUP_NAME="guix_data_service_full.dump"
|
||||
TEMPORARY_FILE_NAME="${TMPDIR:-/tmp}/guix_data_service_full-$DATE.dump.tmp"
|
||||
DESTINATION_FILE_NAME="$BACKUP_DIRECTORY/$DATE/$FULL_BACKUP_NAME"
|
||||
|
||||
renice 19 -p $$
|
||||
ionice -p $$ -c 3
|
||||
|
||||
pg_dump --format=custom --compress=9 --serializable-deferrable \
|
||||
--username=guix_data_service \
|
||||
--file="$TEMPORARY_FILE_NAME" \
|
||||
"$DATABASE_NAME"
|
||||
|
||||
mkdir -p "$BACKUP_DIRECTORY/$DATE"
|
||||
|
||||
mv "$TEMPORARY_FILE_NAME" "$DESTINATION_FILE_NAME"
|
||||
Loading…
Add table
Add a link
Reference in a new issue