1、环境

局域网环境有3台Linux服务器,配置host文件

[root@master1 ~]# vim /etc/hosts

192.168.8.201 master1
192.168.8.202 slave1
192.168.8.203 slave2

2、配置master1免密码访问slave1和slave2

[root@master1 ~]# cd .ssh/                        # 若没有该目录,请先执行一次ssh  localhost
[root@master1 .ssh]# ssh-keygen -t rsa # 会有提示,都按回车就可以

#将master1的id_rsa.pub文件的内容追加到slave1和slave2的authorized_keys文件中,内容如下所示:

[root@slave1 ~]# cat ~/.ssh/authorized_keys
ssh-rsa BBAAC4NzaC1yc2EAAAADAQABAAABAQDfHoKNd2gromznR4tdIV5HYoQkZrELNfmzPiy+dlslL1LYVXuPrHvpVpUEbaXXvUf1LbYJWZNc97IeM4Z75WD48vTNaeNf0QqjSdRfA2e48jQKZrewIURfjNGQDsgoAfykKZmGLlY5LgKl/0ofbxIDdxXdUDd3/XaIio5O6vS7N0MUYMk/GXb/OSdSqfbTHY9cR8qmBze7+de1JzT0dzBb3YKb9TDE0HQnycEZG9yoxgylK62SooAwgGlv1HFZKjX9JFmuRHUd4kQJM+Ubi3uDAarGzKcNuM/LyRG7eEZUYHaicGRXZdY6KHsjitz9wkEuUGEuhjahXJvzEmIS7Apd root@master1

3、在master1上编写shell脚本

[root@master1 ~]# vim /usr/local/bin/xcall
#!/bin/sh
echo -e "\033[33m---------master1------------\033[0m"
ssh root@master1 "su - root -c \"$*\""
echo -e "\033[33m---------slave1-------------\033[0m"
ssh root@slave1 "su - root -c \"$*\""
echo -e "\033[33m---------slave2-------------\033[0m"
ssh root@slave2 "su - root -c \"$*\""
exit

给xcall文件添加执行权限

[root@master1 ~]# chmod +x /usr/local/bin/xcall

4、测试

[root@master1 ~]# xcall.sh ls

一条shell命令让多台Linux服务器执行的更多相关文章

  1. Java 连接远程Linux 服务器执行 shell 脚本查看 CPU、内存、硬盘信息

    pom.xml jar 包支持 <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch& ...

  2. 两台linux服务器之间实现挂载

    https://blog.csdn.net/lpp_dd/article/details/78743862 两台linux服务器之间实现挂载: 服务端: 1.首先需要在主机上设置允许挂载的目录 (1) ...

  3. 两台linux服务器之间免密scp,在A机器上向B远程拷贝文件

    两台linux服务器之间免密scp,在A机器上向B远程拷贝文件 操作步骤:1.在A机器上,执行ssh-keygen -t rsa,一路按Enter,不需要输入任何内容.(如有提示是否覆盖,可输入y后按 ...

  4. 一台Linux服务器(4C8G配置)可以负载百万个连接?

    一台Linux服务器可以负载多少个连接? 首先我们来看如何标识一个TCP连接?系统是通过一个四元组来识别,(src_ip,src_port,dst_ip,dst_port)即源IP.源端口.目标IP. ...

  5. EMC存储同时分配空间到两台LINUX服务器路径不一致导致双机盘符大小不一致

    操作系统:Centos linux6.6 当我们从EMC存储上划分空间同时分配给两台或者多台服务器上时,有的时候会出现在服务器上所生成的磁盘路径是不一致的,这样就会导致盘符名称不一致或者是盘符对应的大 ...

  6. 在一台Linux服务器上安装多个MySQL实例(一)--使用mysqld_multi方式

    (一)MySQL多实例概述 实例是进程与内存的一个概述,所谓MySQL多实例,就是在服务器上启动多个相同的MySQL进程,运行在不同的端口(如3306,3307,3308),通过不同的端口对外提供服务 ...

  7. 用rsync备份一台linux服务器上的数据

    rsync是安装完linux后都会自带的,在机器上运行rsync命令看是否有安装即可 备份到远程服务器 这里介绍的rsync的用途是备份一台linux服务器上的数据到另外一台机器 环境 将需要备份机器 ...

  8. PuTTY 连接 linux 服务器执行 make menuconfig 乱码问题解决

    PuTTY 连接 linux 服务器执行 make menuconfig 时可能出现乱码,如下图所示: 有两个方法解决这个问题: 方法一: 修改 PuTTY 配置如下图所示: 方法二: 在 -/.ba ...

  9. linux命令——scp 两台linux机器间文件或目录传输

    不同的Linux之间copy文件常用有3种方法: 第一种:ftp,也就是其中一台Linux安装ftpServer,这样可以另外一台使用ftp的client程序来进行文件的copy. 第二种:采用sam ...

随机推荐

  1. C博客作业02--循环结构

    1. 本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 这两周学习了循环结构,加上之前就有学的for循环,一共三种循环,都有各自适用的情况.do while适 ...

  2. go语言入门教程:基本语法之数据类型

    出处:千锋教育go语言教研部 作者:茹姐 一.基本数据类型 以下是go中可用的基本数据类型 1.1 布尔型bool 布尔型的值只可以是常量 true 或者 false.一个简单的例子:var b bo ...

  3. 为KindEditor 添加“一键去除空格功能”

    环境说明:KindEditor  4.1.11 一.确定你在使用KindEditor时,引用的是kindEditor-all.js,找到任何一个已经存在的功能,例如,清除HTML代码,我在做的时候本来 ...

  4. 使用synchronized同步,经典银行账户问题

    1.新建Account类,使用synchronized同步增加和减少金额方法. package com.xkzhangsan.synchronizedpack.bank; public class A ...

  5. harbor pull 失败

    STep1: 显示下面的错误 Error response from daemon: unknown: The image is not signed in Notary Step2: 这儿暂时不要选 ...

  6. sql 中 and 和 or的坑

    请参考以下链接 https://blog.csdn.net/u011064736/article/details/70257366

  7. Python模块1

    序列化模块: 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 序列化的目的 1.以某种存储形式使自定义对象持久化: 2.将对象从一个地方传递到另一个地方. 3.使程序更具维护性. jso ...

  8. Javascript的防抖和节流、VUE的防抖和节流

    js原生 函数防抖:将几次操作合并为一此操作进行.原理是维护一个计时器,规定在delay时间后触发函数,但是在delay时间内再次触发的话,就会取消之前的计时器而重新设置.这样一来,只有最后一次操作能 ...

  9. 【新特性】JDK11

    随着JDK11正式发布,带来了许多新的特性.本文主要介绍JDK11的部分新特性和新的API. 一.Local Var 在Lambda表达式中,可以使用var关键字来标识变量,变量类型由编译器自行推断. ...

  10. ComponentOne 2019V1:全面支持 Visual Studio 2019

    ComponentOne Enterprise 2019V1已经正式发布,本次更新的最大亮点就是 ComponentOne 控件全面支持 Visual Studio 2019. 作为一款专注于企业应用 ...