Benutzer:V.-vega
Hallo,
hier meldet sich v.-vega.
Ich bin seit dem 05.07.2005 im LC angemeldet und war zunächst nur leiser Beobachter und Leser der einzlenen Tipps und Tricks rund um Linux. Mittlerweile versuche ich mit meinem gefährlichen Halbwissen auch ein paar Probleme zu lösen.
Mit Linux beschäftige ich mich mittlerweile seit knapp 2 Jahren, und ich muss sagen das ich mich recht wohl fühle mit diesem System. Am meisten beeindruckt hat mich die Hilfsbereitschaft der LC-Member, die ein ums andere mal mit ihren HOWTOS und Tricks meine Haare vor dem ausreissen bewahrt haben.
Also denn,
euer v.-vega
Autor: v.-vega
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. |
Autor: --v.-vega 18:32, 6. Apr 2007 (CEST) Einrichten von public keys mit ssh