Inhaltsverzeichnis
Datensicherung - Backup
Geräte bekommen Defekte. Zwangsläufig. Deshalb: Datensicherung!
rsync
Als GUI kann luckyBackup verwendet werden. (https://luckybackup.sourceforge.net/), dabei werden auch Versionen unterstützt.
USB Festplatte
- „freundlichen“ Namen festlegen anstelle
uuid
:e2label /dev/sda1 backup
Beispiel: Backup rsync über ssh
Beteiligte Computer: ernie
(Ziel) und bert
(Quelle)
- rsync und ssh auf beiden Computern installieren
- Synchronisation wird von
ernie
initiiert- cron-job
- paßwortfreies Schlüsselpaar anlegen
ssh-keygen -t rsa -f ernie.id_rsa
- öffentlichen Schlüssel auf
bert
inauthorized_keys
eintragen - ssh testen, Fingerprint akzeptieren
ssh -i /root/.ssh/ernie.id_rsa bert.example.com
- rsync testen
rsync -e 'ssh -i /root/.ssh/ernie.id_rsa' -avz --delete bert.example.com:/etc /var/backups/bert
- Skript in
/usr/local/bin
anlegen - Eintrag in crontab erstellen
0 20 * * 1-5 root /usr/local/bin/backup_bert
Bandsicherung mit Bacula
Beispiel: Am Server ist ein LTO2 Laufwerk angeschlossen.
Gerät: /dev/nst0
bzw. /dev/st0
Der Unterschied zwischen nst0
und st0
ist, daß das zweite Gerät nach jedem Auftrag automatisch zum Bandanfang zurückspult. Bacula empfieht, nst0
zu verwenden.
Band löschen: mt -f /dev/st0 erase
Achtung: Dieser Vorgang kann mehrere Stunden dauern.
Als Datensicherungssoftware kann man Bacula verwenden. Die Katalogdaten speichern wir in MySQL.
apt-get install bacula-director-mysql bacula-fd bacula-sd bacula-sd-mysql bacula-console
mysql -u root -p > CREATE DATABASE bacula CHARACTER SET UTF8; > CREATE USER bacula@localhost IDENTIFIED BY '********'; > GRANT ALL PRIVILEGES ON bacula.* TO bacula@localhost; > FLUSH PRIVILEGES;
Für Scripte, die auf die Datenbank zugreifen müssen, werden
die Zugriffsdaten in einer speziellen Datei vorgehalten.
Diese kann mit --defaults-file <filename>
verwendet werden.
Nach einer installation hat das Script delete_catalog_backup
die falschen Berechtigungen. Am besten umstellen mit:
chown bacula. delete_catalog_backup chmod 750 delete_catalog_backup
- mysql-defaults.cnf
[client] host = localhost user = bacula password = ******** socket = /var/run/mysqld/mysqld.sock
Storage Daemon konfigurieren
- File Storage nach
/var/backups/mysql
- Tape Storage (LTO-2)
Im Standard sendet Bacula für jeden Job eine Email. Im normalen Betrieb kann das
störend sein. Deshalb empfiehlt es sich nur Meldungen zu senden, die nicht ok
sind. Das sind Fehler, aber auch Bendwechselaufforderungen.
Konfiguriert wird das in /etc/bacula/bacula-dir.conf
:
- bacula-dir.conf
Messages { Name = Standard mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r" mail on error = root = all, !skipped operator = root = mount console = all, !skipped, !saved append = "/var/log/bacula/bacula.log" = all, !skipped catalog = all }
Verschlüsselung
Wichtig: Das Debian-Paket des Filedaemons unterstützt keine Verschlüsselung. Es muß neu kompiliert werden!
Versuch: Konfiguration ohne Masterschlüssel.
cd /etc/bacula openssl genrsa -out mail-fd.pem -pubout 2048 openssl rsa -in mail-fd.pem -pubout >> mail-fd.pem chown bacula mail-fd.pem
mail-fd.pem
GUT extern sichern, ohne diese Datei
ist eine Wiederherstellung nicht möglich!
- bacula-fd.conf
[...] PKI Encryption = yes PKI Signatures = yes PKI Key Pair = /etc/bacula/mail-fd.pem