Linux shell脚本实现对多台机器之间指令的执行以及文件的同步传输

本文介绍了如何使用Linux shell脚本`xall.sh`和`sall.sh`来实现对多台机器执行指令以及进行文件的同步传输。脚本需设置为可执行,并存放在/usr/local/bin目录下。
摘要由CSDN通过智能技术生成

Linux shell脚本实现对多台机器之间指令的执行以及文件的同步传输

  • 需要给两个脚本添加可执行权限:chmod a+x *all.sh
  • 脚本存放位置:/usr/local/bin

一、多台机器指令的执行

xall.sh

#! /bin/bash
#################################################################
# 2019/3/21
# @author:wanglei
# @desc:Execute instructions for all machines in the cluster
#################################################################
scriptContent="$1"
for ((i=1;i<5;i++))
  do
    hname="s$i"
    echo "====== $hname $scriptContent  ======"
    ssh $hname $scriptContent
  done

使用方式:如查看所有主机的进程情况 -》 xall.sh "ps"
脚本中的5为机器数量减1,需要根据/etc/hosts配置的地址进行修改,hname同理

二、多台机器间文件的同步传输

sall.sh

#! /bin/bash
#############################################################
# 2019/3/21
# @author:wanglei
# @desc:Execute file transfer instructions for all machines in the cluster
#############################################################
fileName="$1"
currPath=`pwd`
for((i=2;i<5;i++))
  do
    hostname="s$i"
    echo "=== $hostname $currPath/$fileName ==="
    scp $fileName centos@$hostname:$currPath/ 
  done
使用方式:如复制当前目录下的a.txt到其他所有机器同级目录下 -》 sall.sh "a.txt"
脚本中的5为机器数量减1,需要根据/etc/hosts配置的地址进行修改,hname同理,centos为你操作的用户名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值