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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 67344
Url: https://administrator.de/contentid/67344
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
12 Kommentare
Neuester Kommentar
Hi,
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
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 )
Grüße,
Sylvio
Wir machen täglich genau so ein Backup
per Rsync von Win2003 Servern auf unserenLinux-Server.
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
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 )
Grüße,
Sylvio
hmm,
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
Falls mir nämlich jemand den Webserver
aufmacht, kann der dann nicht auch noch auf
meinen Win Server
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
Da sollte das doch ganz einfach über
einen cron job laufen können.
HowTo "cron in Cygwin"einen cron job laufen können.
http://www.andrewlouie.com/wordpress/?page_id=88
Mir wäre natürlich lieber, wenn
mir jemand einen commandline steuerbaren scp client sagt.
PSCPmir jemand einen commandline steuerbaren scp client sagt.
Kurzes HowTo
http://www.jfitz.com/tips/ssh_for_windows.html
sektion pscp
Auf dieser seite findest du auch einpaar andere tools
Download PSCP von der Offiziellen Seite:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
ausgezeichnet
Ist doch viel netter, oder?
Ist doch viel netter, oder?
HeHe kommt darauf an ob man eher Linux oder Windows Fixiert ist
ich bin ehrlich gesagt weder noch, aber ich beschäftige im moment mehr mit Linux, somit denk ich immer erst an einer Linux Variante
viel spaß noch!
mal schauen ob "c-webber" noch eine gute Alternative vorschlägt.
Gruß,
Sylvio
mal schauen ob "c-webber" noch
eine gute Alternative vorschlägt.
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