luchs3
Goto Top

Zeitgesteuertes Backup über ssh

Hi,

Die Situation ist folgende, ich habe einen Windows 2003 Server auf dem ich via Veritas tägliche Backups machen lasse.

Zum anderen habe ich einen Webserver (linux), welcher derzeit ungesichert läuft.

Ich würde gerne über ein Zeitgesteuertes Script eine ssh Verbindung aufbauen um die Daten auf den Windows Server zu kopieren.

Habt ihr eine Ahnung, ob es ein Tool gibt, welches per Script gesteuert werden kann?

Danke im vorraus.
Niko

Content-ID: 67344

Url: https://administrator.de/contentid/67344

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

c-webber
c-webber 29.08.2007 um 01:23:40 Uhr
Goto Top
Hi,

Wir machen täglich genau so ein Backup per Rsync von Win2003 Servern auf unseren Linux-Server.
geht prima, da Rsync ja immer nur das kopiert was sich seit letztem mal verändert hat.
Sylvio
Sylvio 29.08.2007 um 08:43:47 Uhr
Goto Top
Hi,

Wir machen täglich genau so ein Backup
per Rsync von Win2003 Servern auf unserenLinux-Server.

Geht das auch andersrum? wusste ich nicht, weil er nach einer möglichkeit fragt einen Linux Server nach einen windows server zu backupen.
Sprich daten von Linux zu Windows via ssh....

Also mir fällt da spontan mein backup script ein face-smile

erstmal cygwin auf den windows server installieren!

dann in der cygwin Umgebung:

ssh-host-config
mkpasswd --local > /etc/passwd
mkgroup --local > /etc/group
net start sshd

Auf dem Linux server dann folgendes:

ssh-keygen -t dsa
cat ~/.ssh/id_dsa.pub | ssh administrator@servername "cat - >> .ssh/authorized_keys2"
Damit hast du eine "Vertrauensstellung" erstellt, sprich musst nicht immer dein passwort angeben wenn du eine verbindung via ssh zum win server aufbaust

Dann nur noch einen Cron einrichten der zugegebener Uhrzeit das backup macht...

SCP Variante

01 5 * * * root gunzip /home/webadmin/backup/samples/*.*
21 5 * * * root scp /home/webadmin/backup/samples/*.* administrator@SERVERNAME:/cygdrive/c/backupordner/linuxsrv/web

SSH Variante

01 5 * * * root ( cd /home/webadmin/backup/samples && tar -cf - . ) | ssh administrator@SERVERNAME "(cd cygdrive/c/backupordner/linuxsrv/web && tar xf - && gunzip -f *.gz )"

So macht er ein komplettes backup eines gesammten ordners! (nicht nur geänderte Daten!)

Das ist zwar nicht DIE Lösung geht aber seit über ein Jahr ohne Probleme, Report bekomme ich auch via mail, somit weiß ich sofort wenn mal etwas schief ging (kam bis heut noch nicht vor face-smile )

Grüße,

Sylvio
luchs3
luchs3 29.08.2007 um 09:46:39 Uhr
Goto Top
Diese Variante hab ich mir auch schon überlegt, aber da es sich Linux seitig um einen Webserver handelt, möchte ich lieber: Win Server verbindet mit Webserver und kopiert.

Falls mir nämlich jemand den Webserver aufmacht, kann der dann nicht auch noch auf meinen Win Server
Sylvio
Sylvio 29.08.2007 um 10:01:54 Uhr
Goto Top
hmm,

Falls mir nämlich jemand den Webserver
aufmacht, kann der dann nicht auch noch auf
meinen Win Server

nicht wenn du es in's cron vom root packst, dann muss der jenige auch dein root pwd haben.
Außerdem war in meinem Bsp. nur der windows Administrator account als bsp. bei mir läuft es mit einem user account der nur für cygwin und eben diesen backup share zugriff hat.

ABER du hast recht, es gibt trotzdem die möglichkeit über umwege an die windows dose ran zu kommen.

In diesem fall würde ich es einfacher Lösen, so das der Linux Server gar keiner verbindung zum win server aufbaut...

Erstmal einen cron erstellen der alle daten die du backupen möchtest in ein verzeichnis kopiert.
Dann...
Erstelle einen SMB share, erstelle einen neuen unix nutzer, setze sein shell auf "/bin/NoLogin"
gib NUR diesen neuen user zugriff auf den smb share (versteckter share "$").
Dann auf der Windows dose einen "scheduled Job" erstellen, welches sich via netuse verbindet, kopiert und die verbindung wieder schließt.

Auf dem SMB share würde ich den user auch nur *r* rechte geben.

Sylvio
luchs3
luchs3 29.08.2007 um 10:27:00 Uhr
Goto Top
puh, das klingt ja nach Arbeit.

Ist eine gute Idee, aber ist das nicht ein bisi unsicherer, wenn ich den smb port für den Windows Server freigebe (ist ja schließlich doch im LAN)?

Ich hab mir jetzt mal ins blaue hinein cygwin installiert, bin aber noch nicht so glücklich.
Gibt es da die Möglichkeit scp über ein Script zu starten?
Am liebesten wäre mir ja Openssh for Windows gewesen, aber das unterstützt keinen 2003er.
Sylvio
Sylvio 29.08.2007 um 10:52:09 Uhr
Goto Top
puh, das klingt ja nach Arbeit.
LOL
Ist eine gute Idee, aber ist das nicht ein
bisi unsicherer, wenn ich den smb port
für den Windows Server freigebe (ist ja
schließlich doch im LAN)?
ja leider
Gibt es da die Möglichkeit scp
über ein Script zu starten?
in der cygwin umgebung?
luchs3
luchs3 29.08.2007 um 12:29:46 Uhr
Goto Top
keine Ahnung wo, ich dachte cygwin emuliert eine Unix Umgebung.
Da sollte das doch ganz einfach über einen cron job laufen können.

Mir wäre natürlich lieber, wenn mir jemand einen commandline steuerbaren scp client sagt.
Sylvio
Sylvio 29.08.2007 um 12:54:38 Uhr
Goto Top
Da sollte das doch ganz einfach über
einen cron job laufen können.
HowTo "cron in Cygwin"
http://www.andrewlouie.com/wordpress/?page_id=88

Mir wäre natürlich lieber, wenn
mir jemand einen commandline steuerbaren scp client sagt.
PSCP
Kurzes HowTo
http://www.jfitz.com/tips/ssh_for_windows.html
sektion pscp
Auf dieser seite findest du auch einpaar andere tools face-smile


Download PSCP von der Offiziellen Seite:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
luchs3
luchs3 29.08.2007 um 13:14:18 Uhr
Goto Top
ausgezeichnet face-smile

Ist doch viel netter, oder?

Danke
Sylvio
Sylvio 29.08.2007 um 14:14:46 Uhr
Goto Top
ausgezeichnet face-smile
Ist doch viel netter, oder?

HeHe kommt darauf an ob man eher Linux oder Windows Fixiert ist face-wink

ich bin ehrlich gesagt weder noch, aber ich beschäftige im moment mehr mit Linux, somit denk ich immer erst an einer Linux Variante face-plain

viel spaß noch!

mal schauen ob "c-webber" noch eine gute Alternative vorschlägt.

Gruß,

Sylvio
c-webber
c-webber 30.08.2007 um 11:22:38 Uhr
Goto Top
mal schauen ob "c-webber" noch
eine gute Alternative vorschlägt.

ich wills versuchen...

Von einem Script wird eine SSH-Verbindung zum Ziel-Server aufgebaut, und neue Dateien werden synchronisiert.
Am ende des scripts wird die logfile des vorgangs mit 7Zip gepackt und danach von blat per Mail versendet

Bevor es losgehen kann musst du allerdings noch auf der Linux-Kiste den SSH-User anlegen und das Schlüsselpaar für die SSH-Verbindung generieren. Das machst Du per rsync selbst.

Keine Ahnung wie detailliert ich das beschreiben muss, wenn Du Probleme bekommst dann schick mir einfach ne PM.

Wichtig ist bei der geschichte eben, das wirklich nur das übermittelt wird, was sich seit dem letzten Backup verändert hat. Das heisst das erste Backup dauert lange, alle weiteren gehen rasend schnell face-smile
Sylvio
Sylvio 31.08.2007 um 13:48:16 Uhr
Goto Top
DAS nenne ich doch mal ne gute alternative face-smile