====== 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