Name : Inkrementelle Datensicherung
Version: v0.1
Typ : Backup
Beschreibung :
Ich habe dieses Skript geschrieben, weil ich nicht mehr Abhängig von DynDns und anderen Anbietern seien möchte. Außerdem habe ich dort einige Probleme gehabt. Beispielsweise dass der Router nicht immer die IP-Adresse aktualisiert o.ä. .
Das Skript besteht aus mehreren Teilen. Zum einen gibt es ein Skript für den Client(der zu Sichernde Server) und das Server Skript (auf den das Backup aufgespielt wird).
Das ganze ist so gestaltet, dass man Problemlos es schnell für einen neuen Server umschreiben kann, ohne sich mit langen befehlen auseinander zu setzen. Ich wollte mehr Transparenz reinbringen.
Erklärung Client Skript :
Der Client Updatet jede Minute seine IP in die MySQL-DB vom Hauptserver.
Erklärung Server Skript :
-Holt sich die aktuelle IP Des Clients
-Erstellt die nötigen Ordner und Log Files
-Sichert die Daten per SSH
-Schreibt eine Log File mit Datum, Abtrennung und den Infos welche Daten gesichert wurden.
Server Skript :
Client Skript :
MySQL DB Struktur
Installation
-SSH Key Erzeugen (ssh-keygen -t rsa)
-SSH Key Koppieren (ssh-copy-id -i /home/<User>/.ssh/id_rsa.pub "-p <SSH Port> <User>@<Host>"
-In Crontab das Skript einfüngen ( * * * * * <Pfad zum Skript> )
-Serverseitig das Skript speichern , konfigurieren und in Crontab einfügen
( 00 02 * * * </Pfad zum Skript>)
Schlusssatz:
Die ganzen Vorgänge werden jeweils um 2 Uhr morgens gestartet, wenn niemand mehr Arbeitet oder Dateien geöffnet hat.
Des weiteren lässt sich das Skript verändern und verbessern, doch so ist es funktionstüchtig und läuft bei mir gut.
PS : Über Feedback würde ich mich freuen
Version: v0.1
Typ : Backup
Beschreibung :
Ich habe dieses Skript geschrieben, weil ich nicht mehr Abhängig von DynDns und anderen Anbietern seien möchte. Außerdem habe ich dort einige Probleme gehabt. Beispielsweise dass der Router nicht immer die IP-Adresse aktualisiert o.ä. .
Das Skript besteht aus mehreren Teilen. Zum einen gibt es ein Skript für den Client(der zu Sichernde Server) und das Server Skript (auf den das Backup aufgespielt wird).
Das ganze ist so gestaltet, dass man Problemlos es schnell für einen neuen Server umschreiben kann, ohne sich mit langen befehlen auseinander zu setzen. Ich wollte mehr Transparenz reinbringen.
Erklärung Client Skript :
Der Client Updatet jede Minute seine IP in die MySQL-DB vom Hauptserver.
Erklärung Server Skript :
-Holt sich die aktuelle IP Des Clients
-Erstellt die nötigen Ordner und Log Files
-Sichert die Daten per SSH
-Schreibt eine Log File mit Datum, Abtrennung und den Infos welche Daten gesichert wurden.
Server Skript :
Code:
#!/bin/sh
# Created by Niclas Müller - mueller.niclas@googlemail.com
name=<Name der Sicherung Bsp.:Rechnungen>
trenner=----------------------------------------------
kunde=<KundenName>
user=<SSH User des Client Systems>
port=<SSH Port>
adress=`mysql -h <Host> -sN -uroot -p<Passwort> -D Kunden -e "SELECT IP FROM Server WHERE ID = 4"`
source=/<Pfad auf dem Client der zu sichern ist>
target=/files/kunden/$kunde
options="-z -c -a -v -P --delete --rsync-path=/usr/bin/rsync"
logfile=/files/kunden/$kunde/log/$name.txt
mkdir -p /files/kunden/$kunde/log
touch $logfile
echo $trenner >> $logfile
date >> $logfile
rsync $options -e "ssh -l $user -p $port -o STRICTHOSTKEYCHECKING=no" $user@$adress:$source $target >> $logfile
Client Skript :
Code:
mysql -h <Host> -uroot -p<HostPasswort> -D Kunden -e "UPDATE Server SET IP = '`curl "http://www.networksecuritytoolkit.org/nst/cgi-bin/ip.cgi"`' WHERE Server = '<Kunden Name>';"
MySQL DB Struktur
Installation
-SSH Key Erzeugen (ssh-keygen -t rsa)
-SSH Key Koppieren (ssh-copy-id -i /home/<User>/.ssh/id_rsa.pub "-p <SSH Port> <User>@<Host>"
-In Crontab das Skript einfüngen ( * * * * * <Pfad zum Skript> )
-Serverseitig das Skript speichern , konfigurieren und in Crontab einfügen
( 00 02 * * * </Pfad zum Skript>)
Schlusssatz:
Die ganzen Vorgänge werden jeweils um 2 Uhr morgens gestartet, wenn niemand mehr Arbeitet oder Dateien geöffnet hat.
Des weiteren lässt sich das Skript verändern und verbessern, doch so ist es funktionstüchtig und läuft bei mir gut.
PS : Über Feedback würde ich mich freuen
Zuletzt bearbeitet: