Dateiattribute beim FTP-Client ebenfalls transferieren (CHMO

German support forum

Moderators: white, Hacker, Stefan2

User avatar
Luke_Filewalker
Junior Member
Junior Member
Posts: 47
Joined: 2003-11-05, 10:30 UTC

Dateiattribute beim FTP-Client ebenfalls transferieren (CHMO

Post by *Luke_Filewalker »

Hallo alle

Gibt es irgendwie eine Möglichkeit, per Tool/Addon/Kniff bei einem Download vom Webspace-Server auch die Attribute zu transferieren? Hintergrund ist zum einen die regelmässige Sicherung meiner Homepage sowie einen bevorstehenden Umzug.

Ich sichere regelmässig meine komplette Domain auf meinen lokalen Rechner. Leider werden dabei die Attribute (CHMOD) nicht berücksichtigt. Wenn es sich nur um ein paar Dutzend Dateien handeln würde, wäre das alles kein Thema. Aber bei ein paar Hundert bis Tausend wirds knifflig! Da ich selbst programmiere, überlegte ich mir schon ein Addon für den FTP-Client der als Option die Attribute jeder Datei mit überträgt und im Notfall beim hochladen auch auf dem Webserver wieder setzt. Leider habe ich vom FTP-Protokoll absolut keine Ahnung und so suche ich nach einer anderen Möglichkeit.

Es müssen doch auch andere Homepage/Domain-Betreiber dieses Problem haben?
User avatar
karlchen
Power Member
Power Member
Posts: 4603
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hm, wie sollte das wohl funktionieren, wenn der Client ein Windows NT System (oder höher) ist, aber der FTP-Server ein Unix-basiertes System???

Du weißt schon, daß die Rechtesysteme von Windows und Unix einigermaßen verschieden aufgebaut sind?

Karl
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Na im Prinzip sollte es möglcih sein, dass man sich eine Linuxpartition anlegt, diese in einen lokalen FTP Server einbindet, und dann die entsprechenden Dateien dort hinkopiert. Dazu müßte dann aber der Server<->Server Transfer unterstützt werden.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48079
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ich würde das so lösen: ein PHP-Skript schreiben, das die Dateien mit TAR.GZ packt und anschliessend ausgibt. Dann mit w-get herunterladen - das geht bequem z.B. mit einem täglichen Timer in Windows. Ich mache das z.B. so mit der Forendatenbank hier. Vorteil: TAR packt auch die Unix-Rechte mit! Damit nicht jeder Hacker die Dateien herunterladen kann, das Skript in ein Unterverzeichnis stellen und mit .htaccess passwortschützen.
Author of Total Commander
https://www.ghisler.com
User avatar
Luke_Filewalker
Junior Member
Junior Member
Posts: 47
Joined: 2003-11-05, 10:30 UTC

Post by *Luke_Filewalker »

@karlchen
Das ist mir sogar völlig klar. Nur der Info halber: Ich entwickle selbst Software seit über 20 Jahren und arbeite in einer Software-Firma. ;)

@sheepdog
Yepp das würde ich auch machen wenn ich Zeit dafür hätte. Ich verdiene mein Geld aber primär in der MS-Welt und komme nicht dazu, mich weiter mit Linux zu beschäftigen. Über eine Testinstallation von SUSE auf meinem Entwicklerrechner bin ich leider nie hinausgekommen... leider.
ghisler(Author) wrote:Ich würde das so lösen: ein PHP-Skript schreiben, das die Dateien mit TAR.GZ packt und anschliessend ausgibt. Dann mit w-get herunterladen - das geht bequem z.B. mit einem täglichen Timer in Windows. Ich mache das z.B. so mit der Forendatenbank hier. Vorteil: TAR packt auch die Unix-Rechte mit! Damit nicht jeder Hacker die Dateien herunterladen kann, das Skript in ein Unterverzeichnis stellen und mit .htaccess passwortschützen.
Hi Chris

Ich habe auf dieser Domain weder PHP noch TAR zur Verfügung. Ich entschuldige mich mal für die dürftigen Infos, ich war gestern ein wenig unter Zeitdruck: Diese Domain ist primär für die User meiner Freewaretools und für Freunde, sowie für mich zum lernen was Perl und andere webbasierte Applikationen betrifft. Da ich also bei dieser Domain aufs Geld achten muss (sie bringt nichts rein sondern kostet nur), fehlen auch solche Funktionen.

Ich erläutere mal näher wie das eventuell funktionieren könnte:

TC kann die Attribute (CHMOD) sowohl auslesen als auch setzen. Damit wären alle Grundbedingungen erfüllt. Es gäbe verschiedene Ansätze. Zum einen wäre es denkbar, das TC optional beim downloaden eine extra Datei führt (im jeweiligen lokalen Unterverzeichnis) in dem enthalten ist, welche Datei welche Attribute hat. Und beim hochladen optional anhand dieser Datei auch wieder die Rechte setzt. Ideal wäre natürlich, wenn diese Datei nicht Binär, sondern Text ist, damit man auch lokal die Rechte abändern kann. Das wäre ein enormer Fortschritt im FTP Client von TC und ganz nebenbei ein sehr seltenes Feature. Ich habe noch immer keinen FTP-Client gefunden, der dieses Feature bietet.

Ein anderer Ansatz wäre der Einsatz eines WFX-Plugins für TC der in einem vordefinierten Ordner eine Art FTP-Struktur bietet (simuliert), ebenso, als würde man sich mit dem TC auf dem FTP-Server befinden. Damit könnte man z.B. lokal die Rechte setzen und diese würden in beiden Transfer-Richtungen Berücksichtigung finden.

Beide Methoden hätten den gewaltigen Vorteil, dass ich nicht auf die Features des Webspace-Provider angewiesen bin, sondern wie immer alles im TC integriert habe. Schliesslich ist TC doch unsere aller Schaltzentrale unter Windows. :)
User avatar
Luke_Filewalker
Junior Member
Junior Member
Posts: 47
Joined: 2003-11-05, 10:30 UTC

Post by *Luke_Filewalker »

Sheepdog wrote:Na im Prinzip sollte es möglcih sein, dass man sich eine Linuxpartition anlegt, diese in einen lokalen FTP Server einbindet, und dann die entsprechenden Dateien dort hinkopiert. Dazu müßte dann aber der Server<->Server Transfer unterstützt werden.

sheepdog
Davon abgesehen, direkten FTP Transfer erlaubt mein Provider sowieso nicht, wie ich gerade feststellen musste. Aber der ist auch die längste Zeit mein Provider gewesen, ich schau mich gerade nach Alternativen um.
Luke 'GTH' Filewalker
may the backup be with you - always

# 14630 Single user licence
User avatar
ate
Senior Member
Senior Member
Posts: 274
Joined: 2003-12-17, 22:48 UTC

Post by *ate »

Also eine Protokolldatei mit den jeweiligen Rechten der Dateien würde ich auch gerne haben. Ich sichere nämlich auch des öfteren und falls ich mal wieder rücksichern muss, ist immer Bastelarbeit mit CHMOD angesagt :(
User avatar
karlchen
Power Member
Power Member
Posts: 4603
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Moin, Moin,

nachdem nun schon der 2. Benutzer nach einer Protokolldatei mit den Rechten auf dem FTP-Server fragt, setze ich doch wieder folgendes hier rein, was ich gestern schon gepostet und dann gleich wieder gelöscht hatte, weil es mit zu vielen Einschränkungen behaftet ist:

Bei direktem FTP-Zugriff auf Unix-basierte FTP-Server funktioniert für das jeweils aktuelle Verzeichnis folgendes:
1. Auf dem FTP-Server irgendeine Datei markieren und Alt-Enter für Eigenschaftem drücken.
2. Im Lister erscheint eine temporäre Textdatei mit dem Verzeichnislisting, wie TC es sieht.
3. Diese Textdatei kann man abspeichern.
4. In ihr steht Dateiname - Besitzer - Gruppe - Rechtemaske - Dateigröße - Änderungszeit.

Die wichtigsten Einschränkungen des beschriebenen Verfahrens:
+ kein rekursives Durchlaufen von Verzeichnisbäumen (wenn dann manuell)
+ Wiederherstellung der Rechtemasken nach Upload nur manuell
+ Beschränkung auf Unix-Systeme als FTP-Server
+ funktioniert oft nicht mit HTTP-Proxies, weil die das Verzeichnislisting verfälschen

Vielleicht hat jemand ja einen praktikableren Ansatz für den Fall, in dem man nicht bereits auf dem FTP-Server den Verzeichnisast per tar (und damit inkl. Besitzernummer und Rechtemaske) einpacken kann.

Karl
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
Luke_Filewalker
Junior Member
Junior Member
Posts: 47
Joined: 2003-11-05, 10:30 UTC

Post by *Luke_Filewalker »

Ja dieses Textfile hatte ich auch schon in den Fingern und mir überlegt damit was anzufangen (automatisiert).

Chris, im Prinzip dürfte doch zuerstmal das anlegen der lokalen "Rechte-Datei" keine all zu schwierige Sache sein. Wenn man sich auf den FTP-Server eingelogt hat, zeigt TC ja bereits die Rechte korrekt an, hat diese also schon ermittelt. Wenn man jetzt eine Datei von dort ins lokale Verzeichnis kopiert, müssten einfach noch die Rechte aller Dateien/Ordner des FTP-Fensters in eine lokale Textdatei im jeweiligen Ordner des anderen Fensters gespeichert werden. z.B. in die Datei ftp_attrib.txt oder so ähnlich und diese auf hidden setzen. Kopiert man nun einen ganzen Ordner vom FTP-Server, legt TC eben in jedem lokalen Ordner/Unterordner diese Rechte-Datei an. Damit wäre schon mal die lokale Speicherung erledigt.

Kopiert man nun vom lokalen Ordner eine Datei auf den FTP-Server, schaut TC nach ob es im lokalen Ordner, wo diese Datei steht, diese Rechtedatei gibt, und setzt anhand dieser wieder gleich die Rechte dafür auf dem FTP-Server. Beides, also obige Funktion sowie diese hier optional. Am besten nicht global, sondern lokal im FTP-Profil und alle sind glücklich. *g*

Ich denke der Aufwand wäre vertretbar, da ja alle Grundfunktionen dafür bereits im TC vorhanden sind. Aber der Nutzen wäre meiner Meinung nach sehr hoch und TC würde damit ein Feature bieten, dass noch nichtmal reine FTP-Clients haben. Jedenfalls nicht das es mir bekannt wäre.

Ich würde Dir gerne helfen, leider ist meine "Mutter-Sprache" VB und nicht Delphi. :wink:

Die Möglichkeit mit TAR ist natürlich auch ein Weg und ich hab mir jetzt erstmal als Kompromiss ein PERL-Skript gestrickt, was für mich die Aufgabe der Sicherung und des Restores erledigt. Aber die Handhabung bleibt trotzdem extrem umständlich (in meinen Augen) und ich bin damit auf den Funktionsumfang des Providers beschränkt.
Luke 'GTH' Filewalker
may the backup be with you - always

# 14630 Single user licence
User avatar
Luke_Filewalker
Junior Member
Junior Member
Posts: 47
Joined: 2003-11-05, 10:30 UTC

Post by *Luke_Filewalker »

An die TC-Addon-Coder: Gäbe es die Möglichkeit, über das Addon-Interface ein solches Feature zu realisieren? Dazu müsste man sowohl die CHMOD-Rechte abfragen, als auch setzen können. Da ich leider bis dato noch keine Zeit hatte mich damit zu beschäftigen, wollte ich Leute fragen, die sich damit auskennen. :wink:
Luke 'GTH' Filewalker
may the backup be with you - always

# 14630 Single user licence
User avatar
Luke_Filewalker
Junior Member
Junior Member
Posts: 47
Joined: 2003-11-05, 10:30 UTC

Post by *Luke_Filewalker »

In Bezug auf den neuen TC7 nochmal der Versuch eines Konzeptes:

Da ich ja auch selbst code, beschreibe ich das Konzept auch aus den Augen eines Coders.

Deklaration des FTP Ordners
Zuerst einmal sollte TC wissen, welches lokale Verzeichnis als FTP Verzeichnis verwendet werden soll. Dazu wäre es praktisch, wenn man das Verzeichnis einfach per Menü als FTP Ordner deklarieren könnte. TC merkt sich das dann idealerweise in einer neuen Textdatei die direkt im Root diese lokalen FTP Ordners verwaltet wird. Ein solches Verzeichnis wird dann rekursiv als FTP Verzeichnis behandelt, sprich gilt auch für alle darin befindlichen Unterordner.

Dateiübertragung
Überträgt man nun eine Datei/Ordner vom FTP Server lokal in dieses Verzeichnis, werden auch die Rechte/Attribute zu dieser Datei/Ordner in der lokalen Textdatei gespeichert. Kopiere man nun vom lokalen FTP Ordner eine Datei oder einen ganzen Ordner auf den FTP Server, setzt TC dort automatisch die Attribute aus der lokalen "Datenbank".

Rekursion
Sinnvollerweise gleicht TC immer nur genau das FTP Verzeichnis ab, welches gerade aktiv im TC Fenster ist in dem die Dateioperationen durchgeführt werden. Oder aber nur die Ordner, die durch die Selektion im TC alle markiert wären. Führt man nur Operationen in einem FTP Ordner aus, werden auch nur für diesen Ordner die Werte lokal gespeichert. Wird ein ganzer Ordner markiert zum kopieren, müsste TC eben auch alle darin befindlichen Unterordner berücksichtigen und deren Werte lokal speichern.

Eigentlich hat TC bereits alle Funktionen dafür, man müsste sie eben nur zu etwas neuem zusammenfassen. Das einzig neue wäre die Verwaltung des lokalen FTP Ordners und die Attribute der darin enthaltenen Dateien/Ordner.

Ich habe bereits versucht mit TCScript selbst etwas zu basteln, leider schränken mich die nicht extern verfügbaren FTP Funktionen z.B. für Dateirechte hier ein.
Luke 'GTH' Filewalker
may the backup be with you - always

# 14630 Single user licence
FluteTraverse
New Member
New Member
Posts: 1
Joined: 2007-04-10, 20:17 UTC

Kann TotalCmd Webspace als TAR inkl. Permissions speichern?

Post by *FluteTraverse »

Hallo!

Ich habe den gleichen Wunsch wie die anderen in diesem Thread.

Kann TotalCommander per FTP alle Dateien wie mit dem TAR-Verfahren einsammeln, daraus ein TAR machen und dieses lokal auf der Festplatte speichern? Und dieses TAR könnte man mit TotalCommander wieder zurück auf den Webspace entpacken (mit Wiederherstellung der Dateirechte). TAR ist quell-offen, glaube ich, so daß sich Christian Ghisler oder ein anderer begabter Programmierer an diesen Routinen orientieren könnte.

Per Shell kann ich ein TAR mit Dateirechten erstellen.

Code: Select all

packen (create, verbose, permissions, file): tar -cvpf pack.tar *

entpacken (extract, verbose, permissions, file): tar -xvpf pack.tar -C ./TMP
Toll fände ich es, wenn TotalCommander per FTP einen Verzeichnisbaum des Webspaces abarbeitet und dann eben das TAR auf der Festplatte speichert. Vorteil wäre, daß man mit TAR einen universelllen Standard zur Datensicherung hätte.

Danke! - Tschüß! - Georg
StatusQuo
Power Member
Power Member
Posts: 1524
Joined: 2007-01-17, 21:36 UTC
Location: Germany

Post by *StatusQuo »

Noch eine Idee zur Umsetzung: vielleicht lassen sich die Dateirechte ja im gleichen Stil speichern wie Dateikommentare (Strg-Z).
Das könnte dann statt in files.bbs in rights.bbs oder ähnlich landen...
Who the hell is General Failure, and why is he reading my disk?
-- TC starter menu: Fast yet descriptive command access!
helig
Junior Member
Junior Member
Posts: 7
Joined: 2007-06-11, 18:07 UTC

Post by *helig »

Also, die Idee, komplette FTP-Verzeichnisse samt "Rechte-Info-Datei" in ein Archiv zu packen und aus diesem wieder restaurieren zu können, finde ich grenzgenial!
Das wäre eine Rundum-glücklich-Homepage-Backup/Restore-Funktion im Total Commander!

Können das die begnadeten Plugin-Coder nicht selbst auch brauchen? :wink:
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48079
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Das kann man recht einfach mit dem TAR-Befehl erledigen. Falls kein Zugang per Telnet oder SSH besteht, kann man den Befehl auch in eine php-Datei schreiben und via den Webbrowser aufrufen. TAR hat den Vorteil, dass es die Unix-Permissions mit sichert.
Author of Total Commander
https://www.ghisler.com
Post Reply