Wie Backup durch Backupserver auslösen
-
- Beiträge: 7
- Registriert: 24.06.2012 10:30:51
Wie Backup durch Backupserver auslösen
Hallo zusammen,
ich nutze schon seit Jahren ein "Snapshot-Backup", funktioniert super. Ein von mir angemieteter Webserver, auf dem debian 64bit läuft, erstellt via faubackup das Backup auf meinem Backupserver (über ssh mit Schlüsseln). Der Backupserver ist mein Rechner zu Hause. Das soll auch so bleiben, ich möchte keinen externen Backupserver bzw. etwas an der grundlegenden Architektur ändern - aus Gründen
Der Haken ist natürlich, das mein Rechner zu Hause manchmal nicht an ist, wenn der Webserver sein Backup erstellen möchte (per cron gesteuert).
Nun zu meiner Frage: Kann nicht der Backupserver ein Kommando an den Webserver schicken, dass dieser sein Backup erstellen und rüber schieben soll? Also statt bisher auf dem Webserver per cron gestartet nun durch den Backupserver per remote-Kommando gestartet?
Geht bestimmt, aber wie?
Viele Grüße
Frisco
ich nutze schon seit Jahren ein "Snapshot-Backup", funktioniert super. Ein von mir angemieteter Webserver, auf dem debian 64bit läuft, erstellt via faubackup das Backup auf meinem Backupserver (über ssh mit Schlüsseln). Der Backupserver ist mein Rechner zu Hause. Das soll auch so bleiben, ich möchte keinen externen Backupserver bzw. etwas an der grundlegenden Architektur ändern - aus Gründen
Der Haken ist natürlich, das mein Rechner zu Hause manchmal nicht an ist, wenn der Webserver sein Backup erstellen möchte (per cron gesteuert).
Nun zu meiner Frage: Kann nicht der Backupserver ein Kommando an den Webserver schicken, dass dieser sein Backup erstellen und rüber schieben soll? Also statt bisher auf dem Webserver per cron gestartet nun durch den Backupserver per remote-Kommando gestartet?
Geht bestimmt, aber wie?
Viele Grüße
Frisco
- Natureshadow
- Beiträge: 2157
- Registriert: 11.08.2007 22:45:28
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Radevormwald
-
Kontaktdaten:
Re: Wie Backup durch Backupserver auslösen
Hi,
per SSH?
-nik
per SSH?
-nik
Linux Professional Institute Certification Level 2
Warum bist du immer so gehässig? | FAQ (aka "Mein Sound ist kaputt!")
Meine DF.de-Stalker: Cae und TRex - I <3 you!
Warum bist du immer so gehässig? | FAQ (aka "Mein Sound ist kaputt!")
Meine DF.de-Stalker: Cae und TRex - I <3 you!
-
- Beiträge: 7
- Registriert: 24.06.2012 10:30:51
Re: Wie Backup durch Backupserver auslösen
geht's ein bißchen genauer?
Re: Wie Backup durch Backupserver auslösen
Naja, das ist doch ein bisschen offensichtlich: Du verwendest ohnehin schon SSH, da kann der lokale Server nach einem Reboot auch den Webserver über SSH triggern. Zum Beispiel in der /etc/rc.local, etwas in der RichtungBzw. sollte man das noch eleganter lösen, dass nicht nach jedem Reboot vom Target der Webserver gebackupt wird.
Zum Beispiel könnte das Cron-gesteuerte Backupscript bei Fehlschlag eine Datei dobackup an-touch-en und später, beim Aufruf über SSH, feststellen, ob es sie gibt. Falls ja, Backup, rm -f dobackup. Falls nicht, war das letzte Backup erfolgreich.
Gruß Cae
Code: Alles auswählen
ssh user@host 'nohup mybackup.sh &' &
Zum Beispiel könnte das Cron-gesteuerte Backupscript bei Fehlschlag eine Datei dobackup an-touch-en und später, beim Aufruf über SSH, feststellen, ob es sie gibt. Falls ja, Backup, rm -f dobackup. Falls nicht, war das letzte Backup erfolgreich.
Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: Wie Backup durch Backupserver auslösen
Dann erscheint es sinnvoll das Backup durchzuführen wenn der Rechner an ist. Da Backup sollte somit vom Client ausgehen.Der Haken ist natürlich, das mein Rechner zu Hause manchmal nicht an ist, wenn der Webserver sein Backup erstellen möchte (per cron gesteuert).
Schau dir doch mal
http://wiki.ubuntuusers.de/rsnapshot
http://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC
an. Das zweite Script habe ich mal geschrieben, da ich nicht extra "rsnapshot" installieren wollte Es zeigt recht eindrucksvoll wie man "rsync" mit "ssh" nutzt. Option wäre "FROMSSH" und der Aufruf wäre auf dem Client. Du nutzt Debian auf deinem Client?
Re: Wie Backup durch Backupserver auslösen
oder du erstellst eine abfrage ob der client am netz ist...
ich erledige dies mit folgendem script..
das ganze wird im cronjob jede Std, von 8:00 bis 20:00 aufgerufen..
ist der rechner einmal online wird ein script aufgerufen welches jede menge rsync-befehle enthällt.
funktioniert natürlich nur bei fester IP-adresse
ich erledige dies mit folgendem script..
Code: Alles auswählen
ipPrefix="192.168.10";
ipsToCheck="4";
var_online="true"; # "wahr oder nicht wahr" setzen
Datum=`/bin/date +%Y-%m-%d` # Datum setzen
Uhrzeit=`/bin/date +%H:%M` # Uhrzeit setzen
yes_ping="Client - Erfolgreich online" # Text online definieren
no_ping="Client - offline" # Text offline definieren
for ((i=0; i<15; i++))
do
for ipToCheck in $ipsToCheck; do
if ping -q -c1 ${ipPrefix}.${ipToCheck} > /dev/null 2>&1; then
var_online="false";
sh /etc/users_sic.conf;
Datum=`/bin/date +%Y-%m-%d` # Datum setzen
Uhrzeit=`/bin/date +%H:%M` # Uhrzeit setzen
printf "$Datum | $Uhrzeit - $yes_ping\n" >> /var/log/message_update ;
i=16 ;
fi;
done;
if [ "$var_online" = "true" ]; then
Datum=`/bin/date +%Y-%m-%d` # Datum setzen
Uhrzeit=`/bin/date +%H:%M` # Uhrzeit setzen
printf "$Datum | $Uhrzeit - $no_ping\n" >> /var/log/message_update ;
sleep 1h ;
fi;
done;
ist der rechner einmal online wird ein script aufgerufen welches jede menge rsync-befehle enthällt.
funktioniert natürlich nur bei fester IP-adresse
Re: Wie Backup durch Backupserver auslösen
Hinweis zum Skript: Du rechnest oben Uhrzeit und Datum aus, ohne es vor der Schleife nochmal zu verwenden. Unten genauso. Und %Y-%m-%d lässt sich kürzer als %F schreiben. Das i=16, um aus der äußeren Schleife zu kommen, ist unschön, zumal die ((…))-Konstruktion oben die Bash braucht. Schöner istDas sei nur als Beispiel gedacht, sobald $fnord 11 Mal auf a, b, c und d gesetzt wurde, werden beide Schleifen beendet.
var_online braucht nicht unbedingt auf die Strings "true" und "false" gesetzt zu werden, das kann man effizienter testen mit
Die printfs sind überflüssig und können durch das schnellere echo ersetzt werden, insbesondere, weil du printf "…\n" verwendest. Das lässt sich auch mit echo -n "…" erreichen. printf ist dagegen pratisch, wenn man zum Beispiel eine definierte Breite braucht:
Auch ist nicht auf Anhieb klar, dass sh /etc/users_sic.conf das ist, was bei einem Online-Client passiert.
Aber sonst, äh, ein tolles Skript.
Gruß Cae
Code: Alles auswählen
for i in $(seq 0 14); do
for fnord in a b c d; do
[ $i -gt 10 ] && break 2
done
done
var_online braucht nicht unbedingt auf die Strings "true" und "false" gesetzt zu werden, das kann man effizienter testen mit
Code: Alles auswählen
foo=1 # oder *irgendwas*
[ $foo ] && echo gesetzt
unset foo
if [ $foo ]; then
echo gesetzt
else
echo nicht gesetzt
fi
Code: Alles auswählen
$ printf "test = %4i;\ntest = %4i;\n" 1337 42
test = 1337;
test = 42;
Aber sonst, äh, ein tolles Skript.
Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: Wie Backup durch Backupserver auslösen
wow...
danke für die Tipps...ich gelobe hier feierlich mich zu bessern !
werde ich mir mal genauer anschauen...
und einbauen !
danke für die Tipps...ich gelobe hier feierlich mich zu bessern !
werde ich mir mal genauer anschauen...
und einbauen !