Я пытаюсь разобраться и хотел бы узнать, сталкивались ли с этим раньше некоторые из вас.
У меня есть скрипт SFTP (раньше он был FTP, а теперь перенесен на SFTP). Когда я отправляю файл на клиентский сервер, я получаю сообщение в формате «Нет такого файла или каталога», хотя файл находится на клиентском сервере. Раньше, когда у меня было FTP-подключение, этого не происходило.
кто-нибудь из вас сталкивался с этим раньше? даже я выхожу со статусом 0, что очень странно для меня...
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
Код:
конечно, у меня есть это:
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
Спасибо!