NEU: FTP/SFTP mirroring recursively (rex_ftpmirror)
Verfasst: 17. Jun 2013, 03:17
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.
Nichtsdestotrotz 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
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.
Nichtsdestotrotz 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