准备工作:
- 更改/etc/hosts
- 设置主机之间的免密登录
参考链接:更改主机,设置免密登录 - 创建/opt/shell/xrsync执行脚本,填入下面分发脚本内容
#!/bin/bash
# 判断参数是否足够
if [ $# -lt 1 ]
then
echo Not Enounh Arguement!
exit;
fi
# 遍历所有的机器,根据自己设置的主机名配置
for host in node1 node2 node3
do
echo ============ $host ============
for file in $@
do
# 判断文件是否存在
if [ -e $file ]
then
# 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
# 获取当前目录的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
- 为分发脚本设置权限
# 把文件存储为xrsync,加上x权限
chmod +x xrsync
# 配置环境变量
# 我把脚本放在/opt/shell下的,自己情况类比修改
vim /etc/profile.d/my_env.sh
export PATH=$PATH:/opt/shell # 填入my_env.sh
# 配置生效,就可以在全局生效了
source /etc/profile