====== 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'' in ''authorized_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%% '' 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
[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'':
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!
[...]
PKI Encryption = yes
PKI Signatures = yes
PKI Key Pair = /etc/bacula/mail-fd.pem