SSH超时在远程登录上,具有ServerAliveInterval / nohup



出于无法控制的原因,我有这样的设置:

本地: script1.sh,它在ssh上的wikitech上调用 script2.sh,然后等待 script2.sh完成

远程:script2.sh,在WikIDB上执行SQL查询,并将结果写入文件" file.txt"。

在我的本地脚本1.sh中,我有:

nohup ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=1000 user@remote "path/to/script2.sh $ARG1 $ARG2 $FILENAME"

在我的远程脚本2.sh中,我有一个查询,需要很长时间才能执行。思考时间。我没有太多的余地来优化查询。

nohup sql enwiki "$QUERY">$FILENAME

script2.sh中的查询执行后,将输出重定向到" file.txt"。 正在等待此文件的 script1.sh,然后将" file.txt" sfts降低到本地,然后将其发送以处理下游。

整个过程都在本地壳上的" nohup.out"中的Write failed: Broken pipe错误不断破裂。

我已经放入了nohup S和ServerAliveIntervalServerAliveCountMax来尝试解决问题,但这似乎没有帮助。

如果远程文件完全是创建的,则没有编写它们。

请帮助?

我想您也应该重定向以下行:

nohup ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=1000 user@remote "path/to/script2.sh $ARG1 $ARG2 $FILENAME" &>out.log

如果没有帮助,请使用bash -x执行脚本,以便我们可以准确地捕获问题发生的地方

相关内容

  • 没有找到相关文章