Terminal-FTP über Automator nutzen

Q

Quarc

Registriert
Thread Starter
Dabei seit
22.03.2006
Beiträge
4
Reaktionspunkte
0
Ich muß etwas ganz einfaches erledigen:

Automator soll einen Server-Ordner per FTP leeren.

Mein Plan: Mit der Action "Terminal-Skript" möchte ich mich mit ftp verbinden.
Es gibt ja den Befehl mdelete, womit ich alle Dateien in einem Ordner löschen kann. Jedoch habe ich's bisher nur geschafft, das händisch nach dem Einloggen einzugeben. Aber wie kann ich per Terminal-Aufruf mich mit dem Server verbinden und dann mdelete ausführen?

Ich möchte ungern eine Skriptdatei dafür anlegen, weil der Automator-Workflow dann zusätzlich von dieser Skriptdatei abhängt.

Kann ich irgendwie mit der Terminal-Aktion direkt ftp starten, connecten und mdelete ausführen?
 
Code:
echo mdelete ... | ftp user:passwort@ftp.server.de
 
ah super, danke!

Geht das konstrukt auch mit mehreren Commands, die ich an ftp übergeben möchte?
 
Na klar.
Code:
echo -e "kommando1\nkommando2\nkommando3" | ftp user:passwort@ftp.server.de
Das ist aber ingesamt eine zimelich schmutzigen Lösung.

Ich kenne ja nicht die gesamte Aufgabe, die Du mit Automator hier lösen möchtest, aber ich denke, da gibt es evtl. bessere Alternativen.
 
Die Aufgabe ist wie oben beschrieben:

Ich möchte in einer Action über Automator einen Ordner auf dem Server leeren.
Mit der Action "Shell-Skript" kann ich scheinbar nicht sowas machen:
--
ftp -i ftp://user:passwort@bla.bla.de
mdelete *
bye
--
...gibt nen fehlerhaften Abbruch.
Ich möchte am liebsten auch keine andere zu installierende Action nutzen (wie FTP Upload), weil ich dann davon immer bei Portierung des Workflows abhängig bin.
Als nächstes muß ich auch noch alle Dateien eines Ordners hochladen. Mir ist noch nicht klar, wie ich die Eingabe der vorherigen Aktion (Ordnerinhalt abfragen) in meinem Shell-Skript abfragen kann.
 
Quarc schrieb:
Die Aufgabe ist wie oben beschrieben:

Ich möchte in einer Action über Automator einen Ordner auf dem Server leeren.
Mit der Action "Shell-Skript" kann ich scheinbar nicht sowas machen:
--
ftp -i ftp://user:passwort@bla.bla.de
mdelete *
bye
--
...
Du hast meinen Vorschlag ja noch gar nicht umgesetzt
Code:
echo mdelete \* | ftp -i user:passwort@bla.bla.de
Mehr brauchts doch gar nicht. Einem reinen ftp Client musst Du nicht das Übertragungsprotokoll angeben.
 
doch, deinen Vorschlag habe ich schon dankenderweise getestet und es funktioniert (mdelete * muß allerdings in Tüddelchen eingeschlossen sein).

Mein letzter Post war auf die Frage, was ich denn eigentlich machen will und daß es sicher bessere Alternativen gibt.
Außerdem dazu noch die Frage, wie ich denn den Input einer vorherigen Action (Ordnerinhalt abfragen) in dem Shellskript zugreifen kann, um die übergebenen Dateien per fpt hochzuladen.
 
Zurück
Oben Unten