当前位置:首页 > 公众号精选 > 架构师社区
[导读]冰河之前维护着上千台服务器组成的服务器集群,如果每次需要在服务器上执行命令的时候,都要手动登录每台服务器进行操作的话,那也太麻烦了。

冰河之前维护着上千台服务器组成的服务器集群,如果每次需要在服务器上执行命令的时候,都要手动登录每台服务器进行操作的话,那也太麻烦了。你想想,如果在上千台服务器的集群中,每台服务器中只需要简单的执行一个相同的命令,那别说执行命令了,就是让你依次手动登录上千台服务器,那也够你受的了。估计依次登录上千台服务器,给你三天时间你可能都登不完,那怎么办呢?有没有什么好的方法来解决这个问题呢?

别急,我们今天就是来解决这个问题的。

说实话,我在维护上千台服务器集群的时候,并没有去依次手动登录每台服务器,为啥?没错,就是因为我懒啊!我懒的去登录,并且依次登录那么多台服务器,整个人都会崩溃的。

于是,我就想办法能不能写个脚本,让这个脚本接收我要执行的命令,然后将命令依次分发到集群上所有的服务器中执行,这不就解决问题了吗?说干就干。

不过,这里,有个需要注意的地方:那就是:需要提前配置好集群中每台服务器的主机名和IP地址的对应关系,能够互相使用主机名进行通信,并配置了SSH免密码登录。这一点不行担心,只要让运维在规划和分配服务器的时候,规划好就行了,无需后面再依次登录服务器处理。

为了方便小伙伴们理解,这里我们就假设集群中存在1024台服务器,每台服务器的主机名为binghe1~binghe1024。每台服务器可以通过主机名进行通信,接下来,我写了一个名称为distribute_command.sh的脚本,内容如下所示。

#!/bin/bash pcount=$# if (( pcount<1 )) ; then echo no args; exit; fi #先在本机上执行命令 echo ------------binghe$host----------------- $@ #循环在集群中的远程节点上执行命令 for (( host=1 ; host<=1024; host=host+1)) ; do echo ------------binghe$host-----------------
 ssh binghe$host $@ done;

这个脚本的含义为:接收传递进来的命令,将命令分发到主机名为binghe1~binghe1024的服务器上执行,也就是说,使用这个脚本我们能够做到:同时在集群的服务器上执行相同的命令。

接下来,为distribute_command.sh脚本赋予可执行权限,如下所示。

chmod a+x ./distribute_command.sh

使用格式如下:

./distribute_command.sh 在服务器上执行的完整命令

使用示例

  • 在集群中的每台服务器的/home目录下创建hello.txt文,内容为hello world
./distribute_command.sh echo "hello world" >> /home/hello.txt
  • 查看集群中每台服务器上hello.txt文件的内容
./distribute_command.sh cat /home/hello.txt
  • 删除集群中每台服务器上的hello.txt文件
./distribute_command.sh rm -rf /home/hello.txt

是不是很简单啊?所以说,有时候,不要盲目的去执行。很多时候,在做事情之前,要先思考下有没有更好的解决方案,有没有效率更加高效的解决方案。就比如这篇文章上说的,在上千台服务器上执行一条命令,如果依次手动登录每台服务器执行命令,估计花三天时间都搞不定;如果我们写了一个脚本的话,估计也就1分钟之内就搞定了。所以,效率和质量才是做事情需要追求的目标。

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭