游乐游手机版
首页/AI教程/文章详情

rsync同步操作与配置详解

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

环境

Linux 环境:CentOS 7.5,rsync 版本为 3.1.2

rsync 安装

绝大多数 Linux 发行版在安装系统时都会预装 rsync。要确认是否已安装,直接执行版本查询命令即可:

rsync --version

在这里插入图片描述rsync 版本检查示例

如果系统中未安装 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 即可。此外,建议提前配置好免密登录,否则每次同步都需要手动输入密码,将大大降低自动化脚本的实用价值。

来源:https://cloud.tencent.com.cn/developer/article/2689667
上一篇从Skill到Hook自动化闭环验证工程实践 下一篇基于多块云盘构建LVM逻辑卷的最佳实践方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
企业组织级AI赋能具体实施方法
AI教程 · 2026-06-30

企业组织级AI赋能具体实施方法

前段时间收到一位读者的留言,希望聊聊企业级、组织级的AI赋能究竟该怎么落地。巧的是,前几天刚看到一份咨询调研机构的数据:对近一两年所有企业级AI赋能项目的统计显示,超过90%的甲方企业认为,AI赋能在核心业务价值链上没有发挥任何实质性作用。除了AI辅助办公、企业智能知识库这类边缘应用起到了一些辅助效

Scrapy与Redis分布式架构的日本电商多平台数据聚合系统
AI教程 · 2026-06-30

Scrapy与Redis分布式架构的日本电商多平台数据聚合系统

从事日本电商数据聚合工作时,最大的难点在于要同时应对雅虎拍卖、煤炉(Mercari)、乐天和亚马逊日本站等截然不同的平台。以往使用单机爬虫,经常出现运行中崩溃的情况——单点故障、带宽利用率不足、数据存储混乱,这三大痛点令人困扰。 本文分享一套基于Scrapy + Redis的分布式爬虫方案,专门解决

详细PuTTY 0.81安装教程 SSH远程连接与自定义路径设置
AI教程 · 2026-06-30

详细PuTTY 0.81安装教程 SSH远程连接与自定义路径设置

​ PuTTY(简称PT)是一款轻量级开源SSH Telnet客户端,凭借简洁高效的特性,多年来始终是系统管理员与开发者进行远程连接的首选利器。本教程将详细介绍PuTTY 0 81版本的完整安装过程,并指导您自定义安装路径,以便更灵活地管理SSH远程连接工具。 安装准备 首先需要说明的是,整个安装流

在线教育系统必备功能:直播课堂与题库考试架构
AI教程 · 2026-06-30

在线教育系统必备功能:直播课堂与题库考试架构

很多人一想到做在线教育系统,第一反应往往是先把直播间和课程播放器搭起来,觉得“能看课”就万事大吉了。真到落地那天才发现,系统能不能顺滑跑起来,关键全藏在那些细节里——课程怎么组织、学习进度怎么记、考试怎么处理、后台怎么管得住。前端看起来就几个页面,后端其实是一整条业务链路。不管你是要做在线教育APP

ZStack源码级AI诊断套件让故障排查秒出答案
AI教程 · 2026-06-30

ZStack源码级AI诊断套件让故障排查秒出答案

一次故障排查,到底要花多少时间? 运维人员处理私有云、虚拟化平台的问题,流程大致都是这样:先翻日志看现象,再去文档里找对应机制,然后搜社区有没有类似案例,最后综合判断给出答复。简单问题半小时,复杂问题可能要跨天——而这些时间里,大部分精力耗在了“找信息”而不是“做决策”上。 类似的问题,也许每天都在