千家信息网

如何实现可在任意服务器上执行命令

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章给大家分享的是有关如何实现可在任意服务器上执行命令的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。之前维护着上千台服务器组成的服务器集群,如果每次需要在服务器上执行命
千家信息网最后更新 2024年11月11日如何实现可在任意服务器上执行命令

这篇文章给大家分享的是有关如何实现可在任意服务器上执行命令的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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

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

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

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

不过,这里,有个需要注意的地方:那就是:需要提前配置好集群中每台服务器的主机名和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

感谢各位的阅读!关于"如何实现可在任意服务器上执行命令"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

服务器 服务 命令 集群 登录 脚本 主机 内容 千台 就是 手动 时候 问题 可在 相同 接下来 文件 更多 篇文章 规划 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 江苏智能软件开发代理品牌 怎么让别人访问你的php服务器 搭建机器人数据库怎么填 任我行导航软件开发 数据库割接顺序 广州粉果互联网科技有限公司 宁州电厂网络安全 机动车服务站网络安全条例 长虹软件开发公司 疫情期间网络安全的建议 菁苗教育科技互联网公司 华为基站设备软件开发 安徽华窗互联网科技有限公司 软件开发的风险有多大 wow切换服务器代码 一般资金盘都在境外吗服务器 重庆爱她网络技术有限公司 网络安全学院招商 星宇星网络技术有限公司 CDLINUX下载软件开发 高中生网络安全天才 网络安全宣传画小学生画一年级 数据库文件版本不一样怎么办 网络技术(软件开发)方向陕西 网络安全配置备案新闻稿 无锡雷华网络技术沈阳分公司 上海尚猷网络技术公司招聘 sql查看数据库user语句 网络安全军师手抄报 哪些学校有incites数据库
0