Große Daten von Server zu Server
OOOO
- webserver
Hi,
ich hab sowas schonmal vor 10 Jahren programmiert, aber habs erstens nicht mehr und 2. gibts vielleicht schon was Beseres.
Es geht darum, größere Datenmengen (na so groß auch nicht...ca. 150 MB) von Server zu Server (z.b. ftp) zu kopieren.
Macht man sowas sinnvollerweise besser mit php oder mit perl?
Grüße, OOOO
Hi!
Es geht darum, größere Datenmengen (na so groß auch nicht...ca. 150 MB) von Server zu Server (z.b. ftp) zu kopieren.
Macht man sowas sinnvollerweise besser mit php oder mit perl?
Mit scp, wenn es Dateien sind. Ansonsten müsstest du schon etwas genauer sagen, in welcher Form die Daten vorliegen, die da kopiert werden sollen. Wenn sie "lose" herumliegen, dann geht das mit jeder Programmiersprache, mit der man eien Verbindung zum anderen Server aufbauen kann. Am anderen Ende muss natürlich auch was die Entgegennahme warten.
Lo!
Hi,
Mit scp, wenn es Dateien sind. Ansonsten müsstest du schon etwas genauer sagen, in welcher Form die Daten vorliegen, die da kopiert werden sollen.
Es sind backupdateien. 10-30 Stück a ca. 5 mb.
scp hört sich gut an. SSH-Zugang auf dem Quellserver ist vorhanden, auf dem Zielserver nur ftp-Zugang.
Schön wäre, das ganze per cronjob zu automatisieren.
Grüße, OOOO
Hallo,
Es sind backupdateien. 10-30 Stück a ca. 5 mb.
scp hört sich gut an. SSH-Zugang auf dem Quellserver ist vorhanden, auf dem Zielserver nur ftp-Zugang.
Schön wäre, das ganze per cronjob zu automatisieren.
Grüße, OOOO
mit ssh einloggen. ftp aufrufen. mit put die sachen transferieren, ggfs. eben noch das verzeichnis vorher wechseln. das ganze dann als shellskript einem cronjob übergeben, würde ich meinen. scp kann das ganze sicherlich auch. dedlfix hat da mehr ahnung als ich.
Gruß
jobo
Hi!
[...] auf dem Zielserver nur ftp-Zugang.
mit ssh einloggen. ftp aufrufen. mit put die sachen transferieren, [...] scp kann das ganze sicherlich auch.
Wenn scp ginge, reicht das vollkommen. Dann muss man nicht mit FTP rumopern. FTP über SSH tunneln kann man machen, ist etwas umständlich, aber dann würde ich eher zu rsync über SSH greifen.
Lo!
Hallo,
Hi!
[...] auf dem Zielserver nur ftp-Zugang.
mit ssh einloggen. ftp aufrufen. mit put die sachen transferieren, [...] scp kann das ganze sicherlich auch.Wenn scp ginge, reicht das vollkommen. Dann muss man nicht mit FTP rumopern. FTP über SSH tunneln kann man machen, ist etwas umständlich, aber dann würde ich eher zu rsync über SSH greifen.
Also ich dachte jetzt, er schreibt auf dem Quellserver ein Shellskript sinngemäß:
ftp user:passwort@zielserver
cd zielserververzeichnis
put *.*
bye
Ssh war für mich jetzt synonym für Serverzugriff inklusive platzierung eines Shellskriptes. Aber ist natürlich quatsch, das kriegt man ja auch anders drauf.
Gruß
jobo
Hi!
scp hört sich gut an. SSH-Zugang auf dem Quellserver ist vorhanden, auf dem Zielserver nur ftp-Zugang.
Das geht nur, wenn du auf dem Zielserver wenigstens scp aufrufen kannst. Dann kannst du damit die Dateien vom Quellserver ziehen.
Schön wäre, das ganze per cronjob zu automatisieren.
Wenn du kein ssh auf dem Zielserver zur Verfügung hast, kannst du vermutlich dort auch keine Cronjobs laufen lassen. Dann bleibt wohl nur FTP oder ein Script auf dem Webserver, das die Dateien entgegennimmt. Das ftp-Programm wird sich auch mit Parametern oder über Eingabeumleitung (Pipe) füttern lassen.
Lo!
Hallo,
Hi,
ich hab sowas schonmal vor 10 Jahren programmiert, aber habs erstens nicht mehr und 2. gibts vielleicht schon was Beseres.
Es geht darum, größere Datenmengen (na so groß auch nicht...ca. 150 MB) von Server zu Server (z.b. ftp) zu kopieren.
Macht man sowas sinnvollerweise besser mit php oder mit perl?
Eine Datei? Konsolenzugriff? wget oder ftp oder ssh. Bzw. die dazugehörigen Funktionen von php oder perl, wenn du nicht direkt auf den Server kommst. Alle anderen Programmiersprachen, die da laufen, kannst du auch nehmen. Python, Ruby, wasweißich. Ein Shellskript.
Gruß
jobo
Hi,
ich hab sowas schonmal vor 10 Jahren programmiert, aber habs erstens nicht mehr und 2. gibts vielleicht schon was Beseres.
Es geht darum, größere Datenmengen (na so groß auch nicht...ca. 150 MB) von Server zu Server (z.b. ftp) zu kopieren.
Der Tipp kam hier nur so am Rande, ich möchte ihn nochmal bekräftigen: rsync.
Gerade, wenn du die beiden Dateisammlungen synchron halten willst, eignet sich rsync sehr gut, aber auch für andere Anwendungszwecke (z.B. mit --remove-source-files ein sicheres verschieben).
Und rsync über ssh ist sehr bequem zu nutzen. Deutlich angenehmer als mit ftp rumzufrickeln.
Bis die Tage,
Matti
Und rsync über ssh ist sehr bequem zu nutzen. Deutlich angenehmer als mit ftp rumzufrickeln.
Hi,
ich habe aber nur auf dem Quellserver ssh zur Verfügung.
Geht rsync dann überhaupt?
Gruß, OOOO
Hi,
ich habe aber nur auf dem Quellserver ssh zur Verfügung.
Geht rsync dann überhaupt?
Es muss sowohl auf dem Client (der Rechner, von wo du rsync ausführst) als auch auf dem Server der rsync-Daemon installiert sein, dass ist aber i.d.R. der Fall.
Ansonsten funktioniert rsync (auch) über ssh.
Wenn dein SSH-Login "user" auf dem Host "host" ist, kannst du ein Verzeichnis /home/user/backupdir z.B. so herkopieren:
rsync -avz --delete user@host:/home/user/backupdir backupdir
Bis die Tage,
Matti
Hi!
Und rsync über ssh ist sehr bequem zu nutzen. Deutlich angenehmer als mit ftp rumzufrickeln.
ich habe aber nur auf dem Quellserver ssh zur Verfügung.
Geht rsync dann überhaupt?
Du brauchst nur auf einem Rechner sshd und rsyncd laufen zu haben. Auf dem anderen genügt der Zugriff auf die CLI-Programme, die du zum Beispiel über die PHP-Funktionen system() & Co. aufrufen könntest. Auf dem Quellserver kannst du sicher auch einen Cronjob einrichten, der einen Request auf das Script auf dem Zielserver auslöst.
Lo!
Hallo,
Du brauchst nur auf einem Rechner sshd und rsyncd laufen zu haben. Auf dem anderen genügt der Zugriff auf die CLI-Programme, die du zum Beispiel über die PHP-Funktionen system() & Co. aufrufen könntest.
Auch wenn der Safe-Mode "on" ist oder andere Konfigurationen das blocken?
Gruß
jobo
Hi!
Du brauchst nur auf einem Rechner sshd und rsyncd laufen zu haben. Auf dem anderen genügt der Zugriff auf die CLI-Programme, die du zum Beispiel über die PHP-Funktionen system() & Co. aufrufen könntest.
Auch wenn der Safe-Mode "on" ist oder andere Konfigurationen das blocken?
Wenn die Funktionen nicht verwendbar sind oder PHP nur Zugriff auf eine Sandbox ohne ssh und rsync hat, dann geht es natürlich nicht. Aber gesetzt den Fall, dass das soweit geht, wäre das meiner Meinung nach der einzige Weg, vorhandene Programme mit wenig Aufwand zusammenzubringen, statt sich selbst ein Dateiübertragungsscript zu schreiben. (Wobei das auch nicht allzu schwer sein sollte.)
Lo!
Hallo,
... statt sich selbst ein Dateiübertragungsscript zu schreiben. (Wobei das auch nicht allzu schwer sein sollte.)
http://framework.zend.com/wiki/display/ZFPROP/Zend_Ftp+-+Steven+Brown
Gruß
jobo