首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RSH:端口不足

RSH:端口不足
EN

Stack Overflow用户
提问于 2012-10-02 00:59:38
回答 1查看 1.9K关注 0票数 0

当我使用RSH远程启动一个脚本时,我遇到了一个端口耗尽的问题。

我有一个需要运行的脚本,该脚本已推送到每个服务器。我有一个服务器列表(hostfilelist)

基本上,我有一个简单的循环,它将并行运行它们。

代码语言:javascript
复制
for host in `cat hostfilelist`; do
rsh $host ksh script.ksh &
done

问题是大约有2k台服务器,我达到了512台的限制(根据我读过的文档,假设RSH的端口范围是512-1023 )。

我怎么才能避免这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2012-10-06 04:11:58

使用您的代码,您不仅会遇到rsh的“安全”端口限制,而且可能会遇到文件描述符限制(请使用ulimit -n检查);每个网络连接也会消耗一个文件描述符。

您要对代码执行的操作是遍历主机文件列表,并为每个主机运行一个rsh命令,该命令将使用与号放在后台(在源服务器上)。每个连接都在后台保持打开状态,直到远程主机上的脚本完成为止。

在这种情况下,最好将脚本的执行放在每个远程主机的后台,这样rsh命令就会在启动远程作业后立即返回,从而再次释放网络连接(和端口)。为此,请将代码中的第二行重写为

rsh $host "ksh script.ksh &"

但是,如果事情发生得太快,您可能仍然会遇到端口重用的问题(请参阅netstat输出中的TIME_WAIT状态)。

我强烈建议放弃rsh,转而使用ssh。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12677712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档