ssh - 호스트의 오류를 클라이언트의 파일로 리디렉션하는 방법

ssh - 호스트의 오류를 클라이언트의 파일로 리디렉션하는 방법

SSH를 사용하여 다음과 같은 bash 스크립트에서 호스트의 명령을 실행하고 있습니다.

ssh pi@rasp 'rm /home/pi/webcam/rmtest.txt' || \
{ echo "remove  failed" > $log;  }

호스트에 오류가 없으면 예상대로 작동합니다. 이 경우 클라이언트로 리디렉션됩니다.

rm: cannot remove ‘/home/pi/webcam/rmtest.txt’: No such file or directory

해당 오류 메시지를 클라이언트의 파일로 리디렉션하고 싶지만 방법을 모르겠습니다.

나는 배치를 시도했다 :

>$로그 2>&1

다른 곳에서는 작동하지만 아무것도 작동하지 않습니다.

변수 $log:

pi@raspsky:~/webcam $ echo $log
/home/pi/webcam/condtest.log

답변1

ssh pi@rasp 'rm /home/pi/webcam/rmtest.txt' 2> $log

ssh는 원격 stdin, stdout 및 stderr 설명자를 로컬 설명자에 연결하므로 필요에 따라 로컬 stderr를 리디렉션하기만 하면 됩니다.

관련 정보