Bei einer SFTP-Verbindung wird die Meldung „Datei oder Verzeichnis nicht vorhanden“ angezeigt, die Datei befindet sich jedoch auf dem Server.

Bei einer SFTP-Verbindung wird die Meldung „Datei oder Verzeichnis nicht vorhanden“ angezeigt, die Datei befindet sich jedoch auf dem Server.

Ich versuche, das herauszufinden, und würde gern wissen, ob einige von Ihnen das schon einmal erlebt haben.

Ich habe mein SFTP-Skript (vorher war es FTP und wurde zu SFTP migriert). Wenn ich eine Datei an den Client-Server sende, erhalte ich die Meldung „Keine solche Datei oder kein solches Verzeichnis“, aber die Datei befindet sich auf dem Client-Server. Dies ist vorher nicht passiert, als ich eine FTP-Verbindung hatte.

hat das schon mal jemand von euch erlebt? sogar ich beende es mit Status 0, das ist für mich sehr komisch ...

debug1: Couldn't stat remote file: No such file or directory
debug1: Couldn't stat remote file: No such file or directory
debug1: channel 0: read<=0 rfd 6 len 0
debug1: channel 0: read failed
debug1: channel 0: close_read
debug1: channel 0: input open -> drain
debug1: channel 0: ibuf empty
debug1: channel 0: send eof
debug1: channel 0: input drain -> closed
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: rcvd close
debug1: channel 0: output open -> drain
debug1: channel 0: obuf empty
debug1: channel 0: close_write
debug1: channel 0: output drain -> closed
debug1: channel 0: almost dead
debug1: channel 0: gc: notify user
debug1: channel 0: gc: user detached
debug1: channel 0: send close
debug1: channel 0: is dead
debug1: channel 0: garbage collecting
debug1: channel_free: channel 0: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 2 clearing O_NONBLOCK
debug1: Transferred: stdin 0, stdout 0, stderr 0 bytes in 4.6 seconds
debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 0.0
debug1: Exit status 0

Code:

klar, ich habe das hier:

 sftp -v -b ${sftp_file} ${username}@${server} > ${tmplog1} 2>&1 > ${tmplog2}
 GetStatus=$?
 if (( $GetStatus != 0 )); then
    if [[ $(grep -c "No such file or directory" ${tmplog1}) > 0 ]]; then
        ErrorMessage="No such file or directory"
    elif [[ $(grep -c "Connection refused" ${tmplog1}) > 0 ]]; then
        ErrorMessage="Connection refused with the server"
    elif [[ $(grep -c "Connection timed out" ${tmplog1}) > 0 ]]; then 
        ErrorMessage="Connection timed out with the server"
    elif [[ $(grep -c "No route to host" ${tmplog1}) > 0 ]]; then
         ErrorMessage="No route to the server."
    else
        ErrorMessage="Unknown Error in transmission  process."
    fi
 fi

Danke!

verwandte Informationen