Merge pull request #3924 from nextcloud/fix/3922/database-dump-logic

This commit is contained in:
Simon L 2023-12-14 12:11:40 +01:00 committed by GitHub
commit d95c48ab01
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -167,25 +167,29 @@ if [ -f "/var/lib/postgresql/data/postgresql.conf" ]; then
fi fi
fi fi
do_database_dump() {
set -x
rm -f "$DUMP_FILE.temp"
touch "$DUMP_DIR/export.failed"
if pg_dump --username "$POSTGRES_USER" "$POSTGRES_DB" > "$DUMP_FILE.temp"; then
rm -f "$DUMP_FILE"
mv "$DUMP_FILE.temp" "$DUMP_FILE"
pg_ctl stop -m fast
rm "$DUMP_DIR/export.failed"
echo 'Database dump successful!'
set +x
exit 0
else
pg_ctl stop -m fast
echo "Database dump unsuccessful!"
set +x
exit 1
fi
}
# Catch docker stop attempts # Catch docker stop attempts
trap 'true' SIGINT SIGTERM trap do_database_dump SIGINT SIGTERM
# Start the database # Start the database
exec docker-entrypoint.sh postgres & exec docker-entrypoint.sh postgres &
wait $! wait $!
# Continue with shutdown procedure: do database dump, etc.
rm -f "$DUMP_FILE.temp"
touch "$DUMP_DIR/export.failed"
if pg_dump --username "$POSTGRES_USER" "$POSTGRES_DB" > "$DUMP_FILE.temp"; then
rm -f "$DUMP_FILE"
mv "$DUMP_FILE.temp" "$DUMP_FILE"
pg_ctl stop -m fast
rm "$DUMP_DIR/export.failed"
echo 'Database dump successful!'
exit 0
else
pg_ctl stop -m fast
echo "Database dump unsuccessful!"
exit 1
fi