首页 > AI教程 >rsync同步指南:高效文件同步方案

rsync同步指南:高效文件同步方案

来源:互联网 2026-06-30 06:32:01

基于CentOS7.5,rsync可用yum或源码安装。提供批量同步脚本,支持任意文件/目录自动推送至多台目标服务器,需提前配置SSH免密登录及自定义端口。脚本简洁高效,适合运维场景。

环境

本文基于 Linux CentOS 7.5 操作系统,rsync 版本为 3.1.2。

rsync 安装

大多数 Linux 发行版在安装系统时便会自带 rsync。如需确认是否已安装,可直接执行版本查询命令:

长期稳定更新的攒劲资源: >>>点此立即查看<<<

rsync --version

rsync同步指南:高效文件同步方案在这里插入图片描述

若系统中尚未安装,也无需着急,以下提供两种安装方式供您选择。

yum 安装(推荐)

该方式最为快捷省力,仅需一行命令即可完成:

yum install -y rsync

安装完毕后,配置文件将自动位于 /etc/rsyncd.conf,无需手动处理。

基于源码的安装

如需自行控制版本或进行定制化编译,可选用源码安装方式。首先下载对应版本的源码包:

wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz

接着依次进行解压、配置、编译及安装:

tar -xvf rsync-3.1.2.tar.gz
cd rsync-3.1.2
./configure --prefix=/usr/local/rsync
make && make install

若选择此方式,配置文件 /usr/local/rsync/rsyncd.conf 需手动创建,其路径与 yum 安装不同,请注意区分。

基于 rsync 的同步脚本

在日常工作中,经常需要将文件批量同步至多台服务器。手动逐台执行命令较为繁琐,建议编写脚本实现自动化。以下脚本可接受任意个文件或目录作为参数,并自动推送至指定的所有目标服务器:

#!/bin/bash
# 判断参数
if [ $# -lt 1 ]
then
    echo "请传入要同步的文件"
    exit;
fi

# 要同步的目标服务器清单
for host in 192.168.1.2 192.168.1.3 192.168.1.4
do
    echo ==================== $host ====================
    # 向下遍历所有目录,依次发送
    for file in $@
    do
        # 获取父目录,用于创建不存在的目录
        pdir=$(cd -P $(dirname $file); pwd)
        # 获取当前文件的名称
        fname=$(basename $file)
        # 创建目录,如果这一步里对应的服务器没有进行免密设置,则需要输入密码
        ssh -p 50022 $host "mkdir -p $pdir"
        # 执行同步,如果这一步里对应的服务器没有进行免密设置,则需要输入密码
        echo "rsync -a v -e 'ssh -p 50022' $pdir/$fname hadoop@$host:$pdir"
        rsync -a v -e 'ssh -p 50022' $pdir/$fname hadoop@$host:$pdir
    done
done

脚本的使用方法十分简便:将其放置于 PATH 环境变量所包含的任意目录下(例如 ~/bin,若不存在可自行创建),并赋予执行权限。此后,在任何路径下均可直接调用。举例说明:将脚本保存为 rsync-all,存放在 ~/bin 目录,然后执行 chmod +x ~/bin/rsync-all。后续同步文件时,仅需执行一行命令,如 rsync-all /data/logs/app.log,脚本便会自动将文件推送至清单中的所有服务器。

需要特别说明:脚本中使用了 ssh -p 50022,表明 SSH 端口并非默认的 22。若您的服务器也采用自定义端口,请相应调整;若使用默认端口,则移除 -p 50022 即可。此外,建议提前配置免密登录,否则每次同步均需输入密码,从而降低自动化效率。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。