Skip to main content

PostgreSQL


Sicherung einer PostgreSQL-Datenbank am Beispiel von Linkwarden

pg_dump -d datenbankname -U db-user -h localhost > backupfile

Nun wird man nach dem DB-Passwort gefragt.


Möchte man das ganze automatisiert machen, muss man die Datei .pgpass im Home-Verzeichnis des Users anlegen, der den Dump ausführt. Die Berechtigungen müssen 0600 sein.

Das Format der .pgpass-Datei lautet:

hostname:port:database:username:password

Ihr könnt auch gerne Infos hinzufügen

hostname:port:database:username:password # Zugangsdaten für meine PSQL-DB

Wenn ihr nun den pg_dump ausführt, wird nicht mehr nach dem Passwort gefragt....


Ich hab nun ein Script geschrieben, und lasse dieses Script dann regelmäßig laufen.

#!/bin/bash
pg_dump -d linkwardendb -U linkwarden -h localhost > "/mnt/$(date +\%Y\%m\%d)_backup_linkwarden.sql"

Das Script nenne ich linkwarden-backup und mache ausführbar

chmod +x linkwarden-backup

Das Script muss dann nach /usr/local/bin kopiert werden und kann wie folgt im Cronjob installiert werden

00 02 * * * root /usr/local/bin/linkwarden-backup

Damit wird jeden Morgen um 2 Uhr eine Sicherung in /mnt abgelegt