SCP Ausgabe umleiten irgendwie möglich?

  • Hi.


    Ich schiebe per Cronjob mit scp eine Datei von meinem Raspi auf meinen Webserver.

    Code
    scp dump.sql name@adresse:html/pfad


    Allerdings *scheint* das nicht immer zu klappen.
    Aus dem Grund wollte ich ein log erstellen und die Ausgabe der Konsole in eine Datei schreiben. (&> scp.log zum Beispiel)
    Da das nicht klappte (Datei wird erstellt, bleibt aber leer) hab ich im Netz gesucht.
    Fragen zu dem Thema habe ich gefunden, nur keine gelösten Antworten darauf.


    Gibt es dazu eine Lösung oder geht das für SCP so nicht ? :helpnew:

  • Wahrscheinlich schreibt scp seine Fehlermeldungen auf den Standard-Error Stream.


    Der wird so umgeleitet:


    Code
    scp dump.sql name@adresse:html/pfad 2> scperror.log


    - - - - - - - - -


    scp gibt aber auch einen Statuscode zurueck. Das heisst, in einem
    Script kann man testen ob das kopieren gelungen ist:


    Code
    if scp dump.sql name@adresse:html/pfad
    then
      ...
    else
      ...
    fi

    Edited once, last by Tell ().

  • Hm, ich wollte ja eigentlich "nur" die ganze Ausgabe, welche auch in der Konsole erschein wenn ich es dort mache, in eine log/txt-Datei schreiben.
    Ala : dump.sql ________ 100% 546KB 545.6KB/s 00:00


    Die Umleitung mit 2> klappt nicht. (Wird nur eine leere Datei erstellt)


    Auf ein Skript und die Statuscodes würd ich gern verzichten. Und wenn dann soll schon dann die ganze Fehlermeldung als Text kommen :-) .

    Raspi 3 mit Kodi 18 + Netflix & Amazon

    Raspi2 B+ als Datenlogger                            

    Edited once, last by Ruco ().

  • Schau mal hier:
    http://stackoverflow.com/quest…986/scp-output-as-logfile


    "
    You can redirect both outputs (stdout, stderr) of the command with &> provided you use the verbose (-v) argument. Otherwise, scp will suppress the output as it expects its stdout to be connected to a terminal. But then you get too much information, which you can get rid of with grep:
    scp -v -i ec2key.pem username@ec2ip:/path/to/file ~/path/to/dest/folder/file |& grep -v ^debug
    "


    Oder hier:
    http://www.linuxquestions.org/…tput-to-text-file-629034/


    "
    Worked for me:
    Code:
    scp -v sourcefile.txt user@targetsystem:/home/test/dir1 >&out.txt
    the out.txt file contains all kind of debug info and the last line contains the exit status...
    "

  • Herzlichsten Dank!


    Mit -v gehts.
    Ist zwar mehr Text als nötig, aber so wohl die einfachste Lösung :D

    Code
    scp -v dump.sql name@adresse:html/pfad &> scp.log