用途
用于我自己几台虚拟机集群之间同步文件
条件
这些虚拟机有相同的用户和权限,且执行脚本的机器和其他所有机器打通ssh(没打通需要输入密码),
自己的环境
三台机器,内部的hosts 设置的域名分别是hadoop130,hadoop131和hadoop132
我的脚本
#!/bin/bash
#1 获取输入参数格式 如果没有参数就直接推出
pcount=$#
if((pcount==0));then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdor=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=131;host<133;host++));do
echo -----------------------------------------192.168.233.$host-----------------------------
rsync -ryl $pdir/$fname $user@192.168.233.$host:$pdir
done