[Bash] Ausgabe/Rückgabe von FTP-Transfer mit "curl" per echo ausgeben

  • Sonstige

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    [Bash] Ausgabe/Rückgabe von FTP-Transfer mit "curl" per echo ausgeben

    Ich habe ein per Cronjob ausgeführtes Backup-Skript in Bash geschrieben, welches per "curl" via FTP einen Upload macht. Ich schicke mir alle Ausgaben meines Skripts, derzeit nur bestehend aus eigenen Statusmeldungen, per Mail.

    Nun möchte ich auch gerne die Ausgabe des Dateitransfers über "curl" in der Mail stehen haben.

    Mein derzeitiger Code sieht so aus:

    Shell-Script

    1. RESULT=$(curl -T backup.sql.gz -u user:password ftp://example.com/)
    2. echo "$RESULT"

    Leider ergibt das in der Mail nur eine Leerzeile. Der Upload klappt aber.

    Vorher habe ich das hier getestet:

    Shell-Script

    1. curl -T backup.sql.gz -u user:password ftp://example.com/ > $RESULT
    2. echo "$RESULT"

    Das erzeugte auch nur eine Leerzeile, aber der Upload verschwand offenbar im Nirvana.

    Habe ich das falsch programmiert oder liegt es in dem Fall einfach an "curl"?
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Wenn du den ersten Aufruf verwendest und das hier hinzufügst sollte es funktionieren:

    Quellcode

    1. 2>&1

    Damit solltest du stderr in stdout umleiten
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Danke nochmal, die Rückgabe wird mir nun per Mail geschickt. Dein Code funktioniert also.

    Leider musste ich aber feststellen, dass ich die Rückgabe nach jeder einzelnen Sekunde bekomme. D. h. ein Upload, der fünf Minuten dauert, erzeugt 300 Zeilen in der Mail. Aber das ist kein Programmierproblem mehr, sondern eine Linux bzw. cURL-Frage, die man evtl. sogar gar nicht lösen kann.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum