获取远程 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失败的lp命令,同时将相关的失败消息记录到本地echo

答案1

正在until考虑 的退出状态tee

看看你的代码,根本不清楚你为什么需要tee,所以我建议你把它删除

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

相关内容