Forum: PC Hard- und Software per Sh skript file an ftp Server senden


von panig (Gast)


Lesenswert?

Guten Abend,
ich brauche Eure Hilfe. Ich muss eine Datei per Sh Skript an einen Ftp 
Server senden.
Wie kann ich das am einfachsten realisieren?
Das Skript möchte ich auf einem Ubuntu Server ausführen.
Danke für die Hilfe

von Dave (Gast)


Lesenswert?

1. Muss es wirklich FTP sein? SSH bzw. SFTP/SCP ist deutlich besser.
2. curl: https://everything.curl.dev/ftp/upload

von cURL (Gast)


Lesenswert?

dafür gibt es curl

curl -T datei.name ftp://www.example.com/foo/

gerne auch mit username und passwort

curl -T datei.name -u username:password ftp://www.example.com/foo/

von panig (Gast)


Lesenswert?

cURL schrieb:
> dafür gibt es curl
>
> curl -T datei.name ftp://www.example.com/foo/
>
> gerne auch mit username und passwort
>
> curl -T datei.name -u username:password ftp://www.example.com/foo/

Danke für die Hilfe

von Thomas (kosmos)


Lesenswert?

1
cat file | ssh ajw@dogmatix "cat > remote"

von (prx) A. K. (prx)


Lesenswert?

NcFTP ist ein command line client für FTP.

von Le X. (lex_91)


Lesenswert?

Thomas O. schrieb:
> cat file | ssh ajw@dogmatix "cat > remote"

Nein.

von Rolf M. (rmagnus)


Lesenswert?

(prx) A. K. schrieb:
> NcFTP ist ein command line client für FTP.

Oder halt einfach ftp. Das ist in der Regel auch bereits vorinstalliert.

von (prx) A. K. (prx)


Lesenswert?

Rolf M. schrieb:
> Oder halt einfach ftp. Das ist in der Regel auch bereits vorinstalliert.

NcFTP eignet sich besser für Scripts, weil genau dafür gebaut. Geht mit 
FTP auch, ist aber umständlicher, besonders bei Fehlerbehandlung.

: Bearbeitet durch User
von LOL (Gast)


Lesenswert?

Le X. schrieb:
> Thomas O. schrieb:
>> cat file | ssh ajw@dogmatix "cat > remote"
>
> Nein.

Das ist auf so vielen Ebenen unoptimal...
- useless use of cat, gleich 2x
- scp und sftp existieren. oder halt rsync über SSH.
- resume geht auch nicht
- Anführungszeichen/Escapes werden bei komplizierten Dateinamen/Pfaden 
oder Variablen grausam
- da das ganze durch eine pipe läuft weiss keiner der Befehle, was 
eigentlich passiert (Status- und Fehlermeldungen)

Wenn es FTP sein muss (wovon ich dringend abraten würde: Sicherheit ist 
nicht existent, Firewalls sind problematisch):
- curl
- wget/wput
- lftp

Oder die oben erwähnten. Normales FTP (ftp, tnftp aus BSD) kann man 
vermutlich auch irgendwie scripten.

Soweit mir bekannt ist keines der genannten Tools ist auf einem modernen 
Ubuntu Server standardmäßig installiert - das ist der einzig positive 
Aspekt an dem kritisierten Beispiel.

von Jack V. (jackv)


Lesenswert?

(prx) A. K. schrieb:
> NcFTP eignet sich besser für Scripts, weil genau dafür gebaut.

Von welchem NcFTP schreibst du? Bei dem, das ich kenne, steht „nc” für 
„ncurses“, und es ist eindeutig für interaktive Bedienung konzipiert: 
https://www.ncftp.com/ncftp/

von Rolf M. (rmagnus)


Lesenswert?

Jack V. schrieb:
> (prx) A. K. schrieb:
>> NcFTP eignet sich besser für Scripts, weil genau dafür gebaut.
>
> Von welchem NcFTP schreibst du? Bei dem, das ich kenne, steht „nc” für
> „ncurses“, und es ist eindeutig für interaktive Bedienung konzipiert:
> https://www.ncftp.com/ncftp/

Und auf dieser Seite sind auch die folgenden zu NcFTP gehörenden Tools 
beschrieben:

NcFTPGet - command-line utility program
NcFTPPut - command-line utility program
NcFTPLs - command-line utility program

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

LOL schrieb:
> Wenn es FTP sein muss (wovon ich dringend abraten würde: Sicherheit ist
> nicht existent,

Wobei diese Frage dort relevant ist, wo der FTP-Server definiert wird. 
Er verwendet aber den FTP-Client.

Etwas besser ist FTPS, also FTP per SSL ...

> Firewalls sind problematisch):

... was dabei aber noch hässlicher wird, da die Firewall nicht mehr 
mitlesen kann und man mit einer offenen Portrange für den Datenkanal 
arbeiten muss.

Andererseits können FTP(S)-Server wie pure-ftpd bei den accounts, 
chroot, hide files in transfer und server side scripting angenehmer 
sein.

: Bearbeitet durch User
Beitrag #7148740 wurde vom Autor gelöscht.
von Useless Use of Cat Award (Gast)


Lesenswert?

Thomas O. schrieb:
> cat file | ssh ajw@dogmatix "cat > remote"

Und wieder ein Kandidat für den "Useless Use of Cat Award" :

https://porkmail.org/era/unix/award

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.