• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Datei mit script automatisch auf Ftp-Server hochladen

Don_Giovanni

Golden Delicious
Registriert
14.06.10
Beiträge
11
Hallo
Kann mir irgendjemand helfen dies zu automatisieren?

Funktioniert im Terminal wie folgt:

cd Desktop
ftp [email protected]

passwort

binary
cd verzeichnis/verzeichnis
put asdf.pdf
 
1. leg dir ein ordner an, wo du die files reindropst, die hochgeladen werden sollen

2. schreib dir ein applescript mit ungefähr folgendem inhalt und attache es dem eben erstellten ordner asl eine folderaction:
Code:
on adding folder items to thisFolder after receiving thisFiles
set myServer to "ftpx.ftpxyserverxy.com"
set myFTPUser to "NAME_DES_USERS"
set myFTPPW to "FTP_PASSWORT"

with timeout of 3600 seconds --bricht nach ner stunde ab, ggf, erhöhen oder verringern
repeat with aFIle in thisFiles
set ftpCMD to "ftp << EOF" & return & "open " & myServer & return & "user " & myFTPUser & space & myFTPPW & return & "put " & quoted form of (POSIX path of aFile) & return & "bye" & return & "EOF"
try
do shell script ftpCMD
on error
display dialog "hochladen von " & posix path of aFile & " auf " & myServer & " fehlgeschlagen".
end try
end repeat
end timeout
end

3. droppe ein file in den ordner

4. teste es ;-). ich hab's nicht ausprobiert, aber sollte theoretisch funktionieren.
 
Hallo fyysh!
Danke für die antwort! Eine frage hätte ich noch!
wo muss man die datei einsetzen?
bzw. könntest du es auch ausprobieren da er irgendwelche fehler anzeigt wie kein script ende usw.
 
sorry vertippt.
guck mal drittletzter absatz. da ist ein punkt nach dem "

also da steht fehlgeschlagen".
muss heißen fehlgeschlagen."

dann sollte es gehen.

wenn du übrigens den verlauf des uploads angucken möchtest, kannst du statt

do shell script ftpCMD

tell application terminal to do shell script ftpCMD

nehmen. dann solltest du im terminal sehen, was passirert