Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP-Script für server2server ftp

Frage Entwicklung PHP

Mitglied: joergneu

joergneu (Level 1) - Jetzt verbinden

10.11.2009, aktualisiert 04.12.2009, 6852 Aufrufe, 10 Kommentare

Ich habe einen Webserver Server1 mit ftp und php und einen Webserver Server2 mit ftp, aber ohne php. Nun möchte ich über ein php-Script eine Datei per ftp direkt von Server1 nach Server2 übertragen.
Gibt es dazu bereits ein fertiges Script?

Gruß
Jörg
Mitglied: joergneu
10.11.2009 um 14:22 Uhr
Wenn google mein Freund wäre, würde ich hier nicht schreiben. Ich habe jetzt seit 2 Tagen gegoogelt.
Wie ich per php von einem lokalen Rechner aus auf den Server hochlade, weiß ich auch. Einen normalen php-ftp-client habe ich bereits auf dem webserver installiert.
Es geht um folgendes:

Server1 (ftp, php) ---> (direkt über das Internet, ohne irgendeinen lokalen Rechner) ---> Server2 (ftp, kein php)

Gruß
Jörg
Bitte warten ..
Mitglied: 45877
10.11.2009 um 15:39 Uhr
Hallo,

wenn die server fxp können

http://www.tutorials.de/forum/912189-post5.html
Bitte warten ..
Mitglied: Arano
10.11.2009 um 20:31 Uhr
Zitat von joergneu:
Server1 (ftp, php) ---> (direkt über das Internet, ohne
irgendeinen lokalen Rechner) ---> Server2 (ftp, kein php)

Für das auf Server1 ausgeführte PHP-Script ist doch Server1 der __lokale Server__, also:
Server1 ----> Server2 bzw.
PHP local (Srv1) ----> Server2
1 ----> 1
1 : 1

Irre ich ?
Wo ist/wäre den sonst das Problem ?


~Arano
Bitte warten ..
Mitglied: joergneu
11.11.2009 um 08:02 Uhr
Server1 ist mir physikalisch nicht zugänglich, ich kann also nicht auf die lokale Platte von Server1 zugreifen. Es handelt sich um Webspace.
Wenn mir das möglich wäre, könnte ich ja gleich mit einem normalen ftp-client arbeiten.
Hintergrund: Ich habe eine Website mit einem Webpublishing-System (Wordpress) und einer mysql-Datenbank bei 1&1. Die Datenbank kann ich per php-script sichern. Diese Sicherung und die gesamte Website will ich über ein php-script in ein zip-archiv schreiben. Dieses zip will ich (möglichst automatisiert, eine interaktive Eingabe reicht aber auch) auf einen anderen Server backuppen, also per ftp übertragen.
Vorteil: Man kann alles über das Internet anstossen, auch vom Handy (iphone) aus. Für Wordpress gibt es einen iPhone-Client. Unterwegs kann ich meine eigene Websiten ändern oder ergänzen und dann gleich vom Browser aus ein Backup anstossen. Ansonsten hätte ich ja kein Backup, wenn ich nur mit dem Handy unterwegs bin.

Gruß
Jörg
Bitte warten ..
Mitglied: nxclass
11.11.2009 um 08:55 Uhr
hab ich das nun richtig versanden:

  • php läuft auf Server 1
  • eine Datei vom Server 1 die nur per FTP zugänglich ist soll
  • auf den Server 2 per FTP übertragen werden
  • ohne das diese Datei auf dem Webspace von Server 1 zwischengespeichert werden kann
?

evtl. solltest Du dir mal 'PHP Socket' anschauen ( http://www.php.net/manual/de/book.sockets.php )

Edit:
Es gibt ggf noch eine einfachere Möglichkeit - diese wird wahrscheinlich nicht vom Provider unterstützt - ( http://php.net/manual/de/function.file-get-contents.php ) - damit kann man auch auf FTP Quellen zugreifen.
Bitte warten ..
Mitglied: joergneu
11.11.2009 um 09:31 Uhr
Die Datei auf Server1 ist zugänglich, aber sie soll direkt und nicht durch einen lokalen Rechner vermittelt auf Server2 per ftp übertragen werden.
SSH gibt es weder für 1 noch 2. Wenn ich SSH auf einem der beiden hätte, könnte ich ein Shellscript schreiben, dass mir die Datei gettet bzw. puttet.
So muss ich den Weg über php gehen.
Es wäre auch der einfachste Weg, die Website zu sichern. Ich mache das aktuell über webdav, indem ich die Dateien manuell auf meinen lokalen Rechner kopiere.
Fernziel wäre natürlich ein vollautomatisierter Ablauf: Ein php-Script erkennt, wenn sich eine Datei auf 1 geändert hat, ein anderes erstellt das zip, ein drittes überträgt das zip auf 2.

Gruß
Jörg
Bitte warten ..
Mitglied: Guenni
11.11.2009 um 19:55 Uhr
Hi joergneu,

unter => http://de2.php.net/manual/de/ref.ftp.php

findest du die ftp-Funktionen von PHP.

Ich habe zwar noch nicht damit programmiert, aber wenn ich da richtig durchblicke, müsstest du damit weiterkommen,

also etwa:

- Auf Server1 läuft PHP und ftp, auf Server2 ftp.

- Das PHP-Skript wird auf Server1 aufgerufen und stellt die ftp-Verbindung

zu Server2 her.

- Dann werden die Dateien mit der entsprechenden Funktion übertragen.


Das wäre z.B. nur mal der Verbindungsaufbau:

01.
 
02.
<?php 
03.
 
04.
$ftp_res=ftp_connect("server") or die("Ätsch!!!"); 
05.
 
06.
if($ftp_res){ 
07.
 
08.
 echo "Verbindung $ftp_res steht<br>"; /* Hier wird NUR eine Resource ausgegeben, KEIN Servername, also z.B.: Verbindung Resource id #2 steht  *
09.
 
10.
 ftp_login ($ftp_res,"ftp","ftp") or die("Ätsch!!!");  /* Einloggen mit ftp-Benutzername und ftp-Passwort *
11.
 
12.
 echo "Aktuelles Verzeichnis: ".ftp_pwd($ftp_res)."<br>"; /* Das aktuelle Remote-Verzeichnis ausgeben *
13.
 
14.
 ftp_close($ftp_res); 
15.
 
16.
17.
 
18.
?> 
19.
 
Also die Verbindung klappt schon mal, beim Rest: Good Luck

Gruß
Günni
Bitte warten ..
Mitglied: joergneu
19.11.2009 um 16:30 Uhr
Ich habe auf 1 zwar keinen SSH-Zugang, aber ich kann Shell-Scripte hochladen, die ich über folgendes PHP-Script ausführen kann:

<?php
$output = shell_exec('./backupdb'); # hier wird die SQL-DB gesichert, mit mysqldump --host= --user= --password= dbname > db.sql
echo "<pre>$output</pre>"; # Der Output des Shell-Scripts wird im Browser angezeigt
?>
<?php
$output = shell_exec('zip db.sql.zip db.sql'); # hier wird die SQL-DB gezippt.
echo "<pre>$output</pre>";
?>
<?php
$output = shell_exec('rm archiv.zip'); # hier wird die alte Archivdatei gelöscht
echo "<pre>$output</pre>";
?>
<?php
$output = shell_exec('./archiv'); # hier wird ein Archiv der gesamten Website inkl. SQL-DB erzeugt, mit zip -r archiv.zip /absoluter Pfad der Homepage
echo "<pre>$output</pre>";
?>
<?php
$output = shell_exec('./backup'); # hier wird das Archiv zu Server 2 übertragen, mit ncftpput -u username -p password -R hostname /remotepfad /pfad von archiv.zip auf 1
echo "<pre>$output</pre>";
?>
Bitte warten ..
Mitglied: joergneu
20.11.2009 um 11:02 Uhr
Kleine Ergänzung. Am Anfang des Scripts kann noch Folgendes stehen:
<?php
copy("http://.../?p=x", "seitex.html");
copy("http://.../?p=y", "seitey.html");
usw.
?>

Hier werden die dynamischen Webseiten, die über Permalinks erreichbar sind, als HTML-Seiten gespeichert. Die HTML-Seiten werden dann mit ins Archiv gepackt. Im Falle eines Datenverlustes oder einer Unerreichbarkeit von Server1 kommt man im Notfall so schneller an die HTML-Information heran und muss nicht erst die SQL-DB zurücksichern.

Gruß
Jörg
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...