51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

linux集群安装 rsync 同步脚本data_rsync.sh

集群rsync 同步脚本

必须用绝对路径:

data_rsync.sh /baimei/softwares/elasticsearch-7.17.5/config/elasticsearch.yml 

或者:

data_rsync.sh `pwd`/config/baimei-elastic-certificates.p12

需求, 可以用rsync 一键同步到所有的节点。

(1)所有节点安装rsync数据同步工具

yum -y install rsync

(2)编写同步脚本

cat > /usr/local/sbin/data_rsync.sh <<'EOF'
#!/bin/bash
# Auther: baimei

if  [ $# -ne 1 ];then
   echo "Usage: $0 /path/to/file(绝对路径)"
   exit
fi 

# 判断文件是否存在
if [ ! -e $1 ];then
    echo "[ $1 ] dir or file not find!"
    exit
fi

# 获取父路径
fullpath=`dirname $1`

# 获取子路径
basename=`basename $1`

# 进入到父路径
cd $fullpath

for ((host_id=112;host_id<=113;host_id++))
  do
    # 使得终端输出变为绿色
    tput setaf 2
    echo ===== rsyncing elk${host_id}: $basename =====
    # 使得终端恢复原来的颜色
    tput setaf 7
    # 将数据同步到其他两个节点
    rsync -apz $basename  `whoami`@elk${host_id}:$fullpath
    if [ $? -eq 0 ];then
      echo "命令执行成功!"
    fi
done
EOF

(3)给脚本授权

chmod +x /usr/local/sbin/data_rsync.sh

(4) 测试 (必须加入 绝对路径)

我们 同步一个文件,看看是否所有节点同步成功

data_rsync.sh log.tx

看看其他节点是否有 log.txt , 有说明成功了。

赞(6)
未经允许不得转载:工具盒子 » linux集群安装 rsync 同步脚本data_rsync.sh