2020-03-02 22:44:29 +01:00
|
|
|
#!/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"
|
|
|
|
|
2020-03-20 21:40:33 +01:00
|
|
|
renice 19 -p $$ || true
|
|
|
|
ionice -p $$ -c 3 || true
|
2020-03-02 22:44:29 +01:00
|
|
|
|
2021-01-03 20:05:41 +01:00
|
|
|
"${PG_DUMP:-pg_dump}" --format=custom --compress=9 --serializable-deferrable \
|
2020-03-25 21:47:53 +01:00
|
|
|
--no-comments \
|
2020-03-02 22:44:29 +01:00
|
|
|
--username=guix_data_service \
|
|
|
|
--file="$TEMPORARY_FILE_NAME" \
|
|
|
|
"$DATABASE_NAME"
|
|
|
|
|
|
|
|
mkdir -p "$BACKUP_DIRECTORY/$DATE"
|
|
|
|
|
|
|
|
mv "$TEMPORARY_FILE_NAME" "$DESTINATION_FILE_NAME"
|