[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • NEU: FTP/SFTP mirroring recursively (rex_ftpmirror)
Seite 1 von 1

NEU: FTP/SFTP mirroring recursively (rex_ftpmirror)

Verfasst: 17. Jun 2013, 03:17
von Hirbod
Hi,

ich habe in den vergangenen Wochen bei Zeiten immer wieder an einem Tool geschraubt und es vor mir hergeschoben, jetzt ist es schon mal soweit für eine erste Beta-Version.

Kurz zu dem AddOn:

Viele Entwickler arbeiten entweder lokal oder auf einem externen Entwicklungsserver und müssen irgendwann die Seite dann umziehen. Häufig wird auf dem Entwicklungsserver auch bereits im Vorfeld eingepflegt und auch schon massig Daten hinterlegt. Das ganze haben versierte Entwickler mittels shell und rsync/scp dann irgendwie auf den anderen Server übertragen. Aber auch diese Funktionen stehen nicht immer zur Verfügung. Was bleibt? Das ganze Verzeichnis runterladen und mühselig wieder auf der anderen Kiste uploaden.

Dann kommt es häufig vor, das man den "aktuellen" Stand vom Live-Server gerne wieder auf dem Entwicklungsserver hätte (z.B. um nach einigen Wochen Änderungen o.Ä. durchzuführen)

Hier kommt Abhilfe.

FTP Push console und FTP push php. Beides sind Plugins für den FTPMirror.

FTP Push console unterstützt in dieser BETA aktuell nur push/get (mit Support für "nur neue Dateien übertragen") mittels LFTP. LFTP ist eine UNIX Software und auf vielen Servern bereits installiert, gehört aber nicht unbedingt zum Standard. Kann aber z.B. mittels "apt-get install lftp" innerhalb von 5 Sekunden installiert werden. Alle DomainFactory User können sofort in den Genuss kommen, denn es ist vorinstallert.

LFTP unterstützt FTP,SFTP,FTPS und viele mehr. Ich habe mich entschieden aktuell nur FTP und SFTP anzubieten. Falls Interesse für FTPS besteht, füge ich das gerne noch hinzu.

PHP greift mittels exec() oder shell_exec() (automatisch, je nachdem was vorhanden ist) auf LFTP zu.
Für alle ohne shell Zugriff gibt es jedoch auch ein Tool:

FTP Push php

Die PHP Version greift mittels nativen PHP-FTP Funktionen auf den Server zu und überträgt jede Datei einzeln. Wenn man im selben Rechenzentrum oder auf der selben Kiste spiegelt, geht das rasend schnell, auf einen weiter entfernten Remote ist die Geschwindigkeit etwas langsamer, aber dennoch auf Netzwerkebene.

FTP Push php kann nur pushen, also keine Daten holen. (bisher, ist auf der ToDo)
In meinen Tests hatte ich jedoch je nach Größe der Verzeichnisse leider auch schon Scriptabbrüche. Also riesige Seiten wird man damit nicht übertragen können, außer man hat Zugriff auf die php.ini und stellt die max_execution_time auf eine Stunde. (kann man nach dem spiegeln ja wieder auf 30 zurück setzen). set_time_limit(0) hat leider nicht zum gewünschen Ziel geführt.

Nichts­des­to­trotz sind beide Tools eine solide Grundlage und haben in meinen Tests sauber funktioniert.
Bitte beachtet alle Hinweise in den AddOns und seit vorsichtig mit den Pfadeinstellungen.

Das AddOn hat vollautomatische Feature-Erkennung und wird euch sagen, was funktioniert, und was nicht.

Das AddOn ist noch im Beta-Status, ich würde mich über Bugreports und Anregungen, Lob oder Kritik sehr freuen.

Akuell nur auf Github zu finden (denkt daran den Ordner in "rex_ftpmirror") umzubennen, mein Auto-Rename ist noch nicht implementiert.

Download: https://github.com/nightstomp/rex_ftpmirror


LG
Hirbod

Re: NEU: FTP/SFTP mirroring recursively (rex_ftpmirror)

Verfasst: 29. Jul 2013, 11:06
von RexDude
Hi Hirbod,

vielen Dank für das interessante und mMn soweit gut umgesetzte Addon :) Prinzipiell eine Problematik der ich auch immer wieder begegne weil ich sehr gerne zuerst immer lokal Arbeite und dann das Zeug hochschiebe.

Leider unterstützt mein Webserver aber kein LFTP. Es wäre halt gut wenn man eine Möglichkeit findet wo alle Webserver unterstützen, weil man hat es ja ganz oft mit verschiedenen Providern und dementsp. Webserver(konfigurationen) zu tun. Evtl. hilft ja dann auch die von dir angekündigte Unterstützung für SCP und RSYNC :)

Aufjedenfall coole Idee :D

LG,
Rudi

Re: NEU: FTP/SFTP mirroring recursively (rex_ftpmirror)

Verfasst: 30. Jul 2013, 02:08
von Hirbod
Hi,

da RSYNC Standard auf Linux-Systemen ist, wird die LFTP-Version komplett sterben. (evtl lass ich die einfach auch so drin)

Auch die PHP-Version taugt eigentlich gar nicht, da es bei größeren Paketen zu massiven Abbrüchen kommt. RSYNC/SCP ist sehr interessant, braucht aber SSH-Keys. Dafür baue ich gerade nen Wizard.

Mehr dazu demnächst