Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste Überarbeitung Beide Seiten der Revision | ||
fortgeschrittene_11._-_13._juli_2011 [2011/07/17 19:04] admin |
fortgeschrittene_11._-_13._juli_2011 [2011/07/17 19:20] admin [Datensicherung] |
||
---|---|---|---|
Zeile 83: | Zeile 83: | ||
===== Datensicherung ===== | ===== Datensicherung ===== | ||
+ | |||
+ | *Man kann nie zuviel sichern, aber doch sollte man es sinnvoll und überlegt machen. | ||
+ | *Serversicherung: | ||
+ | * Zweite eingebaute Festplatte | ||
+ | * Zusätzliche Backupserver, wenn möglich räumlich von Hauptserver getrennt. Anderer Stromkreis, Diebstahlschutz,... | ||
+ | * Am einfachsten auf Festplatten über Netzwerk sichern, aber nicht über Jahre hinweg auf dieselbe, eine Platte. | ||
=== rsync === | === rsync === | ||
+ | |||
+ | *Lokal: | ||
rsync -av -P --delete /quelle/ /ziel/. | rsync -av -P --delete /quelle/ /ziel/. | ||
+ | |||
+ | *Von einem entfernten Rechner aus auf den lokalen Rechner: | ||
rsync -av -P --delete -e ssh root@192.168.100.1:/home/ /home/. | rsync -av -P --delete -e ssh root@192.168.100.1:/home/ /home/. | ||
+ | |||
+ | *Vom lokalen Rechner aus auf einen entfernten Rechner: | ||
rsync -av -P --delete /home/ -e ssh root@192.168.100.1:/home/. | rsync -av -P --delete /home/ -e ssh root@192.168.100.1:/home/. | ||
- | Vorsicht bei */* und */.* !!! \\ | + | Vorsicht bei **/** und **/.** !!! \\ |
Quelle am besten immer mit / abschließen \\ | Quelle am besten immer mit / abschließen \\ | ||
Ziel am besten immer mit /. abschließen \\ | Ziel am besten immer mit /. abschließen \\ | ||
Zeile 104: | Zeile 116: | ||
</code> | </code> | ||
- | *Skripte für LDAP, MySQL | + | === Wichtige Serverdaten speichern === |
+ | Backupskripte am besten in einen extra Ordner anlegen: /backup \\ | ||
+ | Hauptsicherung: Konfigurationsdaten, Backupskripte selbst, Cronjob selbst \\ | ||
+ | Login ohne Passwort einrichten für ssh: [[ssh_schluessel_-_anmeldung_ohne_passwort|SSH-Schlüssel - Anmeldung ohne Passwort]] \\ | ||
+ | Cronjob anlegen: | ||
+ | |||
+ | crontab -e | ||
+ | |||
+ | <code bash> | ||
+ | MAILTO="" | ||
+ | # Minute Stunde Tag(Monat) Monat Tag(Woche) Kommando | ||
+ | |||
+ | # Sicherung auf Newton | ||
+ | #10 2 * * * /usr/bin/rsync -a -e ssh root@10.67.0.254:/daten/ /daten > /dev/null 2>&1 | ||
+ | |||
+ | # Sicherung der MySQL Datenbanken | ||
+ | 45 0 * * * /backup/mysql.sh > /dev/null 2>&1 | ||
+ | # Sicherung der openLDAP Datenbank | ||
+ | 45 0 * * * /backup/ldap.sh > /dev/null 2>&1 | ||
+ | # Sicherung der wichtigsten Konfigurationsdaten | ||
+ | 45 0 * * * /backup/run.sh > /dev/null 2>&1 | ||
+ | |||
+ | # Beispiele: | ||
+ | # Jeden Tag um zehn Minuten nach Mitternacht: | ||
+ | #10 0 * * * /pfad/zum/programm | ||
+ | |||
+ | # Jeden Mittwoch um zehn Minuten nach Mitternacht: | ||
+ | #10 0 * * 3 /pfad/zum/programm | ||
+ | |||
+ | # Jeden Wochentag um zehn Minuten 13,14 und 15Uhr: | ||
+ | #10 13-15 * * 1-5 /pfad/zum/programm | ||
+ | |||
+ | # Jedes Jahr zu Silvester: | ||
+ | #0 0 31 12 * /pfad/zum/programm | ||
+ | </code> | ||
+ | |||
+ | <code bash /backup/run.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | HOST="10.67.0.2" | ||
+ | DATUM=$(date "+%d%m%y") | ||
+ | SERVER="einstein" | ||
+ | |||
+ | rsync -a /backup/ -e ssh root@$HOST:/daten/sicherung/$SERVER/backup/ | ||
+ | rsync -a --delete /etc/ -e ssh root@$HOST:/daten/sicherung/$SERVER/etc/ | ||
+ | rsync -a --delete /root/ -e ssh root@$HOST:/daten/sicherung/$SERVER/root/ | ||
+ | rsync -a --delete /var/spool/cron/ -e ssh root@$HOST:/daten/sicherung/$SERVER/var/spool/cron/ | ||
+ | rsync -a --delete /var/lib/named/*.hosts -e ssh root@$HOST:/daten/sicherung/$SERVER/var/lib/named/ | ||
+ | rsync -a --delete /var/lib/named/*.rev -e ssh root@$HOST:/daten/sicherung/$SERVER/var/lib/named/ | ||
+ | rsync -a --delete /var/lib/named/*.zone -e ssh root@$HOST:/daten/sicherung/$SERVER/var/lib/named/ | ||
+ | |||
+ | sync | ||
+ | </code> | ||
+ | |||
+ | === Sichern von MySQL Datenbanken === | ||
+ | |||
+ | <code bash /backup/mysql.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | HOST="10.67.0.2" | ||
+ | DATUM=$(date "+%d%m%y") | ||
+ | USER="root" | ||
+ | PASSWORD="<passwort!!!>" | ||
+ | |||
+ | mysqlcheck --user=$USER --password=$PASSWORD --all-databases --auto-repair > /backup/mysql-einstein/mysql_status_$DATUM | ||
+ | mysqldump --user=$USER --password=$PASSWORD --all-databases --opt -l --force | gzip > /backup/mysql-einstein/mysql_$DATUM.sql.gz | ||
+ | |||
+ | databases=$(/usr/bin/mysql --user=$USER --password=$PASSWORD -e 'SHOW DATABASES;' | grep -Ev '(Database|information_schema)') | ||
+ | for db in $databases; do | ||
+ | /usr/bin/mysqldump -l --opt --hex-blob --force --user=$USER --password=$PASSWORD $db | gzip > /backup/mysql-einstein/db_$db-$DATUM.sql.gz | ||
+ | done | ||
+ | |||
+ | rsync -a /backup/ -e ssh root@$HOST:/daten/sicherung/einstein/backup/ | ||
+ | rm /backup/mysql-einstein/* | ||
+ | |||
+ | sync | ||
+ | </code> | ||
+ | |||
+ | === openLDAP sichern === | ||
+ | |||
+ | <code bash /backup/ldap.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | HOST="10.67.0.2" | ||
+ | DATUM=$(date "+%d%m%y") | ||
+ | SERVER="kepler" | ||
+ | |||
+ | /usr/sbin/slapcat -l /backup/kepler_$DATUM.ldif | ||
+ | |||
+ | rsync -a /backup/ -e ssh root@$HOST:/daten/sicherung/$SERVER/backup/ | ||
+ | rm /backup/kepler_*.ldif | ||
+ | |||
+ | sync | ||
+ | </code> | ||
===== Softwareupdate am server4education und desktop4education ===== | ===== Softwareupdate am server4education und desktop4education ===== | ||