大家好
,写个效率我是脚本近倍冰河~~ 冰河之前维护着上千台服务器组成的服务器集群,如果每次需要在服务器上执行命令的工作时候 ,都要手动登录每台服务器进行操作的瞬间话
,那也太麻烦了。提升 你想想
,写个效率如果在上千台服务器的脚本近倍集群中 ,每台服务器中只需要简单的工作执行一个相同的命令 ,那别说执行命令了,瞬间就是云计算提升让你依次手动登录上千台服务器,那也够你受的写个效率了 。 估计依次登录上千台服务器,脚本近倍给你三天时间你可能都登不完
,工作那怎么办呢
?瞬间有没有什么好的方法来解决这个问题呢 ? 别急
,我们今天就是提升来解决这个问题的 。 说实话
,我在维护上千台服务器集群的时候,并没有去依次手动登录每台服务器
,为啥?没错 ,就是源码下载因为我懒啊 !我懒的去登录
,并且依次登录那么多台服务器 ,整个人都会崩溃的 。 于是
,我就想办法能不能写个脚本,让这个脚本接收我要执行的命令
,然后将命令依次分发到集群上所有的服务器中执行,这不就解决问题了吗?说干就干。 不过,这里,服务器租用有个需要注意的地方 :那就是:需要提前配置好集群中每台服务器的主机名和IP地址的对应关系,能够互相使用主机名进行通信,并配置了SSH免密码登录。 这一点不用担心
,只要让运维在规划和分配服务器的时候,规划好就行了 ,无需后面再依次登录服务器处理。 为了方便小伙伴们理解,这里我们就假设集群中存在1024台服务器 ,每台服务器的主机名为binghe1~binghe1024 。免费模板 每台服务器可以通过主机名进行通信
,接下来,我写了一个名称为distribute_command.sh的脚本,内容如下所示 。 这个脚本的含义为
:接收传递进来的命令
,将命令分发到主机名为binghe1~binghe1024的服务器上执行
。 也就是说,使用这个脚本我们能够做到:在集群中“任意”服务器上执行相同的命令。 接下来,香港云服务器为distribute_command.sh脚本赋予可执行权限,如下所示。 使用格式如下
: 使用示例 是不是很简单啊?所以说,有时候
,不要盲目的去执行
。很多时候,在做事情之前,源码库要先思考下有没有更好的解决方案 ,有没有效率更加高效的解决方案。 就比如这篇文章上说的
,在上千台服务器上执行一条命令 ,如果依次手动登录每台服务器执行命令 ,估计花三天时间都搞不定;如果我们写了一个脚本的话
,估计也就1分钟之内就搞定了 。 所以 ,既有效率,又有质量才是做事情需要追求的目标
。