Home Laufwerk sichern: Unterschied zwischen den Versionen
Yehudi (Diskussion | Beiträge) (→Quellen und weiterführende Links: Backup) |
|||
(10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | |||
− | |||
− | |||
=== Mit rsync /home/"User" sichern === | === Mit rsync /home/"User" sichern === | ||
Zeile 90: | Zeile 87: | ||
+ | <!-- Bei Änderungen an diesem Script bitte auch eine PN an mich (v.-vega) oder schreibt kurz auf meine Diskussionsseite damit ich sie in mein privates übernehmen kann. | ||
+ | Danke!! --> | ||
+ | |||
+ | == Quellen und weiterführende Links == | ||
+ | * [[Einrichten von public keys mit ssh]] | ||
+ | * [http://www.linuxnetmag.com/de/issue8/m8rsync1.html http://www.linuxnetmag.com/de/issue8/m8rsync1.html] | ||
+ | * [[Rsync]] | ||
+ | |||
+ | ---- | ||
− | + | [[Backup|Back To Backup]] | |
− | + | [[Category:Security]][[Category:Backup]][[Kategorie:Scripte]][[Kategorie:Shellscripte]] | |
− |
Aktuelle Version vom 18. Mai 2007, 07:35 Uhr
Mit rsync /home/"User" sichern
Vorraussetzung
Vorraussetzung für die Verwendung dieses Scriptes ist eine Verbindung über ssh von Client zum Server. Diese Verbindung darf kein Passwort haben. Am sichersten ist eine Verbindung über einen rsa-Key.
Änderungen nach dem kopieren des Scriptes
Wenn dieser Code kopiert wird, müssen folgende Variablen geändert werden:
- SERVER = IP Adresse oder gegebenenfals Hostname des Zielservers
- USER = Nur wenn ein anderes Home Laufwerk gesichert wird als das des aktiven Users
- ZIEL = Ordner in den die Dateien kopiert werden
- QUELLE = Wenn ein anderer Ordner kopiert werden soll
- LOG = Der Pfad für die Log-Datei
Das Script
#!/bin/sh #Script zum sichern des Home Verzeichnisses auf den Server #Inkrementelle Sicherung #Stand: 05.04.2007 #Dieses Skript wird durch eine Cron Job alle 2 Stunden aufgerufen. #Cron Befehl der in der Cron Tab eingetragen werden muss: #00 */2 * * * User /Ordner/mit/Script/sicherung #Festlegung der Variablen TIMESTAMP=$(date +"%d.%m.%Y - %H:%M") SERVER="IP-Adresse" QUELLE="/home/"$USER"/" ZIEL=$SERVER":/Ziel/Ordner" ERFOLG="Sicherung erfolgreich! Zuletzt gesichert: "$TIMESTAMP ERROR="Sicherung nicht erfolgreich am "$TIMESTAMP LOG="/Ziel/für/die/Logdatei/sicherung.log" TRENN="================================================" #Wenn der Server erreichbar ist... if ping -c 1 $SERVER >> /dev/null then #soll das gesamte home Laufwerk des Users auf den Server kopiert #werden. Dabei werden mit --delete alle Dateien die auf dem Server existieren, #aber nicht auf dem Quellrechner, gelöscht. Dies ist der Fall wenn man zum Beispiel #Dateien in einen anderen Ordner verschoben hat. rsync -au -e ssh -v --delete $QUELLE $ZIEL && echo $ERFOLG >> $LOG #Es wird eine Log Datei geschrieben in die einen Eintrag mit einem Zeitstempel #und eine Erfolgsmeldung geschrieben wird. #Wenn die Sicherung nicht durchgeführt wurde, wird auch eine Statusmeldung in #die Log Datei geschrieben. else echo $ERROR >> $LOG fi #Es wird eine Trennlinie in die Logdatei geschrieben, wegen der Übersicht. echo $TRENN >> $LOG
Verwendete Parameter
Parameter | Bedeutung |
---|---|
-a | Dieser Parameter fasst verschiedene andere Parameter zusammen:
Diese Einstellungen bleiben beim kopieren erhalten. |
-u | Update: Wenn auf dem Server eine neuere Datei liegt, wird diese nicht ersetzt. |
-e | Gibt das Protokoll an über das die Dateien übertragen werden. Hier: ssh. |
-v | Verbose Mode: Zeigt an welche Dateien kopiert werden. Kann weg gelassen werden wenn das Script über Cron gestartet wird. |
--delete | Dateien die auf dem Client nicht mehr existieren werden auch auf dem Server gelöscht. So hat man ein exaktes Abbild des aktuellen Home Verzeichnisses auf dem Server. |