Externe Freigabe für die PostgreSQL-Sicherung mit CIFS


#1

Linux Systeme erlauben einen Zugriff auf Dateifreigaben von Windows. Dazu kann cifs genutzt werden.

Freigabe mit cifs mounten

Auf der Kommandozeile eines Linux Systems können Sie eine Windows Freigabe als cifs Dateisystem einbinden.

Installieren Sie zuerst das cifs-utils Paket.

yum install cifs-utils

Zum Einbinden der Freigabe verwenden Sie das folgende Kommando und geben anschließend das Passwort des Benutzers an:

mount -t cifs  -o user=My_User,uid=xx,gid=xx,mapchars //Host/Freigabe  /mountpoint/

Wobei uid und gid dem Benutzer und Gruppe postgres entsprechen, mit dem Befehl

id postrgres

bekommt man die auch angezeigt!

Eintrag in /etc/fstab:

//Host/Freigabe	/mountpoint	cifs	_netdev,username=Windows_Benutzer,password=das_Passwort,uid=xx,gid=xx,mapchars	0 0

bewirkt, dass die Freigabe nach dem Neustart automatisch eingebunden wird. Wobei uid und gid dem Benutzer und Gruppe postgres entsprechen.

Ein Skript mit rsync kann z.B. so aussehen, dabei soll das Paket “rsync” installiert sein:

yum install rsync

Skript-Inhalt:

#!/bin/sh
quelle=/var/lib/pgsql/backups/verinice/
ziel=/extbackup
rsync -avSH --delete  --exclude=".*" "${quelle}" "${ziel}/"

Zusätzlich kann ein Cron-Job für den Benutzer postgres angelegt werden und die Ausführzeit z.B. auf täglich 19 Uhr festlegen:

su - postgres
crontab -e
00 19 * * * /my-backup-ext-verinicedb.sh

:nerd_face:
Gruß Julia


#2

Hallo Julia,

danke für diesen Post. Das hat perfekt geklappt…

Kleine Hinweise: Das Skript könnte man zu den anderen Skripten legen: “/usr/local/bin/…” und dann mit “chmod” auch für den User: “postgres” ausführbar setzen. - Das Skript löscht alle unbekannten Dateien aus dem gemounteten CIFS-Share und synchronisiert anschließend die alle *.sql -Dateien dort rein.

Für Nutzer der Appliance (12/2018) ist es recht einfach. Die Pakete sind schon drin… Keine Nachinstallation notwendig.

Weiterhin viel Erfolg!
JoergG