首页 文章

ssh ssh卡在远程机器上[关闭]

提问于
浏览
-1

简单的脚本,以便在Linux机器上执行重新启动

for i in $LIST_OF_LINUX_MACHINES
do
   ssh $LINUX_MACHINE /var/tmp/restart.sh
done

在运行此脚本几次后,

有时ssh过程卡住了! (并且循环卡在当前机器上) -

怎么可能 - 在极少数情况下ssh被卡住的原因可能是什么

以及如何避免这种情况?

1 回答

  • 0

    我建议一些相当不同的东西 - 而不是在实例之间有一个固定的延迟,一次运行固定的最大实例数 . 例如,该值为25:

    numprocs=25
    timeout=5
    xargs -P "$numprocs" -J '{}' -n 1 -- \
      perl -e 'alarm shift; exec @ARGV' -- "$timeout" \
        ssh -nxaq -o ConnectTimeout=5 -o StrictHostKeyChecking=no '{}' /tmp/reboot.sh \
      <hostnames # if a file; use < <(awk ...) if a script providing per-line info
    

    请注意, -J {} 是一个扩展,它避免了(标准规定的) -I {} xargs行为的规范中隐含的错误 . 如果它不可用,则可以使用 -I '{}' - 但请阅读手册页以了解警告 .

相关问题