원격 SSH의 출력을 로컬로 가져오기

원격 SSH의 출력을 로컬로 가져오기

lp원격 호스트에서 실패한 명령의 출력을 다음과 같이 로컬 스크립트로 가져올 수 있습니다 .

until ssh -q root@remotehost 'lp -d Brother_HL_L2350DW_series /root/moht/Printed/`basename "$FILE"`' 2>&1 | tee /home/printererror.log
do
echo "Issue is: `cat /home/printererror.log`"

sleep 230

done

문제는 until명령이 실패하더라도 반복되지 않는다는 것 입니다 lp.

until코드를 변경 하고 아래와 같이 제거 2>&1 | tee /home/printererror.log하면 제대로 작동하고 실패한 lp명령이 반복되기 시작합니다. 하지만 보시다시피 삭제 후에는 오류 메시지가 표시되지 않습니다.tee

until ssh -q root@remotehost 'lp -d Brother_HL_L2350DW_series /root/moht/Printed/`basename "$FILE"`'

관련 실패 메시지를 로컬로 기록하면서 until실패한 명령을 반복하고 싶습니다 .lpecho

답변1

고려 until중인 종료 상태 tee.

코드를 보면 왜 필요한지 명확하지 않으므로 tee제거하는 것이 좋습니다.

until ssh -q root@remotehost 'lp …' >/home/printererror.log 2>&1
do
    : …
done

관련 정보