SFTP 오류를 추적하는 방법

SFTP 오류를 추적하는 방법

SFTP용 스크립트가 1개 있습니다. 대상 서버에서 권한 문제 오류가 발생합니다. 로그 파일에서 이 오류를 추적하고 싶습니다. SFTP 오류를 어떻게 추적합니까? 아래는 내 코드입니다.

    sftp  $TragetUsr@$TargetserIP <<-FIL >> $LOGPATH/$Logfile
        cd $FTPDir
        lcd $FILEPATH
        put $ZipFilename
        bye
    FIL
            SftpStatus=$?
            echo " SftpStatus = $SftpStatus " >> $LOGPATH/$Logfile

프롬프트에서 이 스크립트를 실행하려고 하면 권한 오류가 표시됩니다. 변수에 sftp의 상태를 캡처했지만 항상 0을 반환합니다.

오류가 발생합니다. 대상 서버 IP에 연결되었습니다. 원격 열기("대상 서버 경로"): 권한이 거부되었습니다.

오류 메시지를 캡처하도록 도와주세요.

답변1

stderr를 stdout이 가리키는 파일로 리디렉션한 다음 stdout을 리디렉션합니다. 이를 통해 오류 메시지를 캡처할 수 있습니다.

sftpError=$(
    sftp  $TragetUsr@$TargetserIP <<-FIL 2>&1 >> $LOGPATH/$Logfile
        cd $FTPDir
        lcd $FILEPATH
        put $ZipFilename
        bye
    FIL
)

관련 정보