FTP/FXP Distribution

Mitglieder finden Rat bei Mitgliedern bei technischen Fragen außerhalb von Grillen und BBQ.

Moderator: Mod-Team

Benutzeravatar
Redneck
myBBQ #1
myBBQ #1
Beiträge: 10803
Registriert: 11.06.2006, 15:21

Bevor ich jetzt ewig suche, vielleicht kannst du mir bei einem Syntaxproblem noch helfen.

Die Unterverzeichnisse auf dem FTP Server der Agentur lauten "RM EXCL" bzw "RM NO-EXCL", enthalten also Freizeichen. Die Freizeichen werden aber beim Verzeichniswechsel (cd RM EXCL) nicht genommen. Auch Substitution durch Underline funktioniert nicht. Irgendeine Idee?
Keiner
Schneggebegger
Beiträge: 9354
Registriert: 09.07.2006, 20:15
Wohnort: Marburg

Klar \ :)

Der \ sorgt dafuer, dass das folgende Zeichen als Teil der Eingabe angesehen wird.

also cd rm\ excl


Ich hoffe nur, dass es mit dem FTP Programm klappt.


Btw bin ich inzwischen auch etwas weiter ... 1 Schritt vor, 2 Schritte zurueck ... FTP ist echt veraltet ;)
Mit -n kannst Du eine Steuerdatei mitgeben.
Und statt put (das gilt nur fuer eine einzelne Datei) ist in diesem Fall mput gefragt.

Sieht dann z.B. folgendermassen aus:

Mit einem beliebigen Editor eine Datei mit folgendem Inhalt anlegen:

Code: Alles auswählen

user DeinLogin DeinPW
cd RM\ EXCL
mput *.jpg
bye
Die Befehle in der Datei gibst Du FTP einfach mit folgendem Kommando mit:

Code: Alles auswählen

ftp -n agentur1.com < DeineDatei

Das ist jetzt aber alles noch Spielerei, aber vielleicht hilft es Dir schonmal weiter :)


edit: Leider wirst Du nicht umhin kommen, Deine Passwoerter im Klartext auf Deinem Webspace zu speichern :(
Aber FTP ist eh unsicher, da macht das wohl auch nicht mehr viel aus :mrgreen:
Teammitglied bei "TB & The BBQ-Scouts"
Benutzeravatar
Redneck
myBBQ #1
myBBQ #1
Beiträge: 10803
Registriert: 11.06.2006, 15:21

Danke, der Backslash hilft mir schon mal weiter. Ich werde jetzt mal das Script schreiben bzw. fuer die unterschiedlichen Agenturen anpassen und dann mal 'nen Testlauf machen.
Keiner
Schneggebegger
Beiträge: 9354
Registriert: 09.07.2006, 20:15
Wohnort: Marburg

Wenn Du getestet hast, koennen wir noch ein Schrittchen weitergehen ;)

Es ist ja nervig, den Kram immer wieder einzutippen.
Also spielen wir lokal etwas rum ... wobei hier jetzt das Problem kommt, dass ich keinen Mac habe.
Es kann also sein, dass Du Anpassungen durchfuehren muss, ich weiss nichtmal, ob Du ein Shellprogramm per Klick ausfuehren kannst ...

Zuerst generieren wir uns einen SSH Key, damit Dein Webspace Dich ohne Passwort einlaesst.
Wir muessen allerdings darauf verzichten, den Key mit einem Passwort zu sichern. Normalerweise gilt dieses Verfahren dennoch als sicherer gegenueber dem normalen login auf einem Remote Rechner.

Wie gesagt, auf dem lokalen Rechner und statt einem PW einzugeben, einfach ENTER druecken.

Code: Alles auswählen

ssh-keygen -b 2048 -t rsa
Den Key schieben wir auf den Server:

Code: Alles auswählen

ssh-copy-id -i .ssh/id_rsa.pub login@webspace.com
Wenn unter Mac der Key nicht unter .ssh/id_rsa.pub angelegt wird, musst Du danach suchen.

Jetzt teste erstmal, ob der Login ohne PW funzt:

Code: Alles auswählen

ssh login@webspace.com
Klappt alles, koennen wir weiter machen :)

Leg auf Deinem Mac eine neue Datei an mit folgendem Inhalt:

Code: Alles auswählen

#!/bin/sh
rsync -avze ssh Dein_Ordner_auf_dem_lokalen_Rechner login@webspace.de:Dein_Ordner_auf_dem_Webspace
ssh login@webspace.com "ftp -n agentur1.com < Agentur1Datei"
ssh login@webspace.com "ftp -n agentur2.com < Agentur2Datei"
ssh login@webspace.com "ftp -n agentur3.com < Agentur3Datei"
Mit chmod +x neueDatei machst Du die Datei ausfuehrbar.

Zur Datei noch kurz:
#!/bin/sh waehlt die Shell aus, unter der die folgenden Kommandos laufen sollen.
rsync -avze ... Synchronisiert Dein lokales Verzeichnis, mit dem auf Deinem Webspace, dabei werden die Dateien vor der Uebertragung noch gepackt.
ssh login ... loggt sich jeweils auf Deinem Webspace ein und fuehrt dort den Befehl in " aus.
Bitte benutze bei Ordnerangaben komplette Pfade, keine relativen. Wechsel einfach in das gewuenschte Verzeichnis und gib "pwd" ein.

Die Datei einfach ausfuehren, fertig :)

Das alles ist jetzt natuerlich quick and dirty ... es gibt keine einzige Ueberpruefung oder Rueckfrage ...
Auch wird nichts mitgeloggt.
Ein wenig kann ich Dir noch helfen den Kram zu verfeinern, aber fuer eine richtig saubere Loesung mit Netz und doppelten Boden, wirst Du jemanden fragen muessen, der Dir das professionell schreibt.
Ich uebernehme keinerlei Verantwortung fuer etwaige Fehler :)


edit: Achja, wenn Du alles ein paar mal getestet hast kannst Du das Ding auch automatisch ausfuehren lassen, wenn das ueberhaupt gewuenscht ist.
Siehe: http://www.oreilly.de/catalog/mcosxhksg ... ack53.html und http://hints.macworld.com/article.php?s ... 0700163714
Dann wird das "Script" um die von Dir ausgewaehlte Uhrzeit ausgefuehrt, wenn nichts in den eingestellten Ordnern liegt, wird halt nichts hochgeschoben.
Teammitglied bei "TB & The BBQ-Scouts"
Keiner
Schneggebegger
Beiträge: 9354
Registriert: 09.07.2006, 20:15
Wohnort: Marburg

Nochmal ein bisserl Lektuere:

http://www.reallylinux.com/docs/autoftp.shtml
http://www.linux-community.de/Internal/ ... matisieren
http://users.telenet.be/mydotcom/howto/ ... _linux.htm

Allgemein beschaeftigen wir uns uebrigens grade mit Shell Programmierung bzw Shell Scripte :)
Es lohnt sich sich da ein wenig einzulesen, dann kannst Du mit nem Mac auch mehr anstellen, als die meissten vermuten ;)
Auch gibt es sehr sehr viele fertige Loesungen im Netz.


Jetzt musst eigentlich nurnoch die beiden Agenturen hauen, die nur dieses Java-Ding anbieten.
Teammitglied bei "TB & The BBQ-Scouts"
Benutzeravatar
Redneck
myBBQ #1
myBBQ #1
Beiträge: 10803
Registriert: 11.06.2006, 15:21

Keiner hat geschrieben:Wenn Du getestet hast, koennen wir noch ein Schrittchen weitergehen ;)

Es ist ja nervig, den Kram immer wieder einzutippen.
Also spielen wir lokal etwas rum ... wobei hier jetzt das Problem kommt, dass ich keinen Mac habe.
Es kann also sein, dass Du Anpassungen durchfuehren muss, ich weiss nichtmal, ob Du ein Shellprogramm per Klick ausfuehren kannst ...

Zuerst generieren wir uns einen SSH Key, damit Dein Webspace Dich ohne Passwort einlaesst.
Wir muessen allerdings darauf verzichten, den Key mit einem Passwort zu sichern. Normalerweise gilt dieses Verfahren dennoch als sicherer gegenueber dem normalen login auf einem Remote Rechner.

Wie gesagt, auf dem lokalen Rechner und statt einem PW einzugeben, einfach ENTER druecken.

Code: Alles auswählen

ssh-keygen -b 2048 -t rsa
Den Key schieben wir auf den Server:

Code: Alles auswählen

ssh-copy-id -i .ssh/id_rsa.pub login@webspace.com
Wenn unter Mac der Key nicht unter .ssh/id_rsa.pub angelegt wird, musst Du danach suchen.
Die Schluesselgenerierung hat geklappt, aber beim Kopieren des Schluessels kommt er nicht weiter. "-bash: ssh-copy-id: command not found"
Keiner
Schneggebegger
Beiträge: 9354
Registriert: 09.07.2006, 20:15
Wohnort: Marburg

Warum streicht Apple immer so nette Kleinigkeiten? :(

http://forum.slicehost.com/comments.php ... sionID=990
Teammitglied bei "TB & The BBQ-Scouts"
Benutzeravatar
Redneck
myBBQ #1
myBBQ #1
Beiträge: 10803
Registriert: 11.06.2006, 15:21

Nope.

Ich habe den Schluessel erfolgreich kopiert (100% Erfolgsmeldung) mit

Code: Alles auswählen

scp ~/mykey.pub user@mydomain.com:~/.ssh/authorized_keys
.. was fuer mich heißt, dass der Schluessel nun im Verzeichnis /.ssh/authorized_keys liegt. Der Login ohne Passwort funktioniert jedoch weiterhin nicht (mit PW schon). Das Verzeichnis ist auch fuer mich nicht sichtbar, weder mit "ls" auf SSH Ebene, noch per FTP Client.
Wenn ich den Schluessel in's Root uebertrage also quasi ...

Code: Alles auswählen

scp ~/mykey.pub user@mydomain.com
... dann kommt ueberhaupt keine Rueckmeldung, sondern ich lande wieder in der normalen Eingabezeile. Die Auflistung der Dateien und Ordner im Root per ls zeigt auch hier die mykey.pub nicht an.
Benutzeravatar
Redneck
myBBQ #1
myBBQ #1
Beiträge: 10803
Registriert: 11.06.2006, 15:21

Ich habe hier nochmal ein paar Tips gefunden, die ich Schritt fuer Schritt abarbeiten werde.
Keiner
Schneggebegger
Beiträge: 9354
Registriert: 09.07.2006, 20:15
Wohnort: Marburg

Dateien/Verzeichnisse mit einem . am Anfang sind unter Unixen "unsichtbar" ;)

ls -a zeigt sie Dir.


Warum das nicht funzt, kann ich spontan nicht sagen :-k


edit mach mal auf dem Webscpace "cat .ssh/authorized_keys"
Teammitglied bei "TB & The BBQ-Scouts"
Benutzeravatar
Redneck
myBBQ #1
myBBQ #1
Beiträge: 10803
Registriert: 11.06.2006, 15:21

Keiner hat geschrieben: edit mach mal auf dem Webscpace "cat .ssh/authorized_keys"
cat: .ssh/authorized_keys: No such file or directory
Keiner
Schneggebegger
Beiträge: 9354
Registriert: 09.07.2006, 20:15
Wohnort: Marburg

Aeh moooment :)

Mach mal ls -la .ssh/ lokal :)
Teammitglied bei "TB & The BBQ-Scouts"
Benutzeravatar
Redneck
myBBQ #1
myBBQ #1
Beiträge: 10803
Registriert: 11.06.2006, 15:21

Keiner hat geschrieben:Aeh moooment :)

Mach mal ls -la .ssh/ lokal :)
Da findet er das Verzeichnis .ssh (lokal). Ich kann auch da hinein wechseln. Ein weiteres ls bringt mir dann "known hosts" als Antwort.
Keiner
Schneggebegger
Beiträge: 9354
Registriert: 09.07.2006, 20:15
Wohnort: Marburg

Da muesste aber eigentlich eine Datei *.pub liegen ... der oeffentliche Teil Deines Schluessels, den Du auf den Server kopieren musst ...

http://www.kilrathy.net/sites/ssh-publi ... d-osx.html

Eigentlich auch .ssh/id_rsa.pub ...
Wenn die Datei nicht vorhanden ist, ging bei der Erzeugung was schief
Teammitglied bei "TB & The BBQ-Scouts"
Benutzeravatar
Redneck
myBBQ #1
myBBQ #1
Beiträge: 10803
Registriert: 11.06.2006, 15:21

Nein, die Schluesseldateien liegen beide (privat und public) im Userverzeichnis (das uebergeordnete Verzeichnis von .ssh). Die kann ich per Mac Finder sehen.
Antworten