多台主机执行相同的命令
[xcall]
[/usr/local/bin]
sudo nano xcall
-------------------------------------------------------------------
#!/bin/bash
#获取参数个数
pcount=$#
if(pcount<1);then
echo no agrs
exit;
fi
for((host=100;host<103;host=host+1));do
echo-------s$host----------
ssh s$host $@
done
-----------------------------------------------------------
使用:xcall ls /home/neworigin/Desktop
【scp】
scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录.
①将s100上的文件复制给s101
scp -r /home/neworigin/1.txt neworigin@s101:/home/neworigin/
【rsync】
在多台主机之间同步更新变化的文件,避免复制相同的内容
rsync -rvl /home/neworigin/1.txt neworigin@s101:/home/neworigin/
利用rsync创建xsync脚本
功能:实现同步发送文件到多台主机
【xsync】
[/urs/local/bin]
sudo nano xsync
sudo chmod 777 xsync
--------------------------------------------------------
#!/bin/bash
pcount=$# 参数个数
if((pcount<1));then
echo no args
exit;
fi
p1=$1
fname=`basename $p1`(获取传进的参数名称)
pdir=`cd -p $(dirname $p1);pwd`
echo pdir
cuser=`whoami`
for((host=101;host<104;host=host+1));do
echo --------s$host------
rsync -rvl $pdir/$fname $cuser@s$host:$pdir
done
--------------------------------------------------------------
注:
basename:
获取文件的名称
Whoami:
获取当前用neworigin)
dirname:
获取当前的上级目录