5154

Good Luck To You!

CentOS 6.5安装rsync报错怎么办?详细步骤避坑指南

CentOS 6.5 作为一款经典的 Linux 发行版,在企业环境中仍有广泛应用,rsync 是一款高效的文件同步和备份工具,它通过增量传输算法,仅需同步文件的不同部分,从而大大减少了数据传输量,尤其适合大文件和频繁同步的场景,本文将详细介绍在 CentOS 6.5 系统上安装、配置和使用 rsync 的全过程,帮助用户快速掌握这一实用工具。

CentOS 6.5安装rsync报错怎么办?详细步骤避坑指南

rsync 简介

rsync(Remote Sync)是一款开源的快速增量文件复制工具,支持本地复制、远程复制和守护进程模式,其主要特点包括:

  • 增量同步:只传输文件变化的部分,节省带宽和时间。
  • 压缩传输:可在传输前对文件进行压缩,进一步提高传输效率。
  • 权限保留:支持同步文件权限、时间戳、软硬链接等属性。
  • 排除功能:可灵活排除不需要同步的文件或目录。
  • 安全机制:结合 SSH 可实现安全的远程文件传输。

安装 rsync

在 CentOS 6.5 系统中,rsync 通常包含在默认软件源中,可以通过以下步骤进行安装:

检查是否已安装

检查系统是否已安装 rsync:

rsync --version

如果已安装,会显示 rsync 的版本信息;否则,提示“command not found”。

使用 yum 安装

如果未安装,使用 yum 包管理器进行安装:

sudo yum install rsync -y

此命令会自动从默认软件源下载并安装 rsync 及其依赖包,安装完成后,可再次运行 rsync --version 确认安装成功。

验证安装

安装完成后,可以通过以下命令查看 rsync 的安装路径和基本信息:

which rsync
ls -l /usr/bin/rsync

rsync 的可执行文件位于 /usr/bin/rsync

配置 rsync 服务器

rsync 支持两种工作模式:远程 Shell 模式(如通过 SSH)和 守护进程模式(C/S 模式),守护进程模式更适合需要频繁、自动化同步的场景,本节重点介绍该模式的配置。

CentOS 6.5安装rsync报错怎么办?详细步骤避坑指南

创建配置文件

rsync 的主配置文件为 /etc/rsyncd.conf,默认可能不存在,需手动创建:

sudo touch /etc/rsyncd.conf
sudo chmod 644 /etc/rsyncd.conf

编辑配置文件

使用 vinano 编辑器打开配置文件:

sudo vi /etc/rsyncd.conf

以下是一个示例配置文件内容:

# 全局设置
uid = nobody
gid = nobody
use chroot = no
max connections = 10
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
# 模块设置(定义同步目录)
[backup]
    path = /data/backup
    comment = Backup Directory
    read only = no
    list = yes
    auth users = backupuser
    secrets file = /etc/rsyncd.passwd
    hosts allow = 192.168.1.0/24
    hosts deny = 0.0.0.0/0

参数说明

  • uid/gid:运行 rsync 进程的用户和组,通常使用 nobody 提高安全性。
  • use chroot:是否将 chroot 限制在指定目录,建议设为 no 以避免权限问题。
  • max connections:最大并发连接数。
  • path:需要同步的目录路径。
  • read only:是否为只读,no 表示允许写入。
  • auth users:认证用户名,多个用户用逗号分隔。
  • secrets file:存储用户密码的文件路径。
  • hosts allow/hosts deny:允许或拒绝访问的 IP 地址段。

创建认证用户和密码文件

根据配置文件中的 auth userssecrets file,创建密码文件:

sudo touch /etc/rsyncd.passwd
sudo chmod 600 /etc/rsyncd.passwd

编辑密码文件,格式为 username:password

sudo vi /etc/rsyncd.passwd
```:

backupuser:backuppass123

**注意**:密码文件权限必须为 `600`,否则 rsync 服务器会拒绝启动。
#### 4. 创建同步目录
根据配置文件中的 `path` 创建目录,并设置正确的权限:
```bash
sudo mkdir -p /data/backup
sudo chown -R nobody:nobody /data/backup
sudo chmod -R 755 /data/backup

启动 rsync 服务

通过以下命令启动 rsync 守护进程:

sudo rsync --daemon

为使服务开机自启,可将其添加到 rc.local 文件:

CentOS 6.5安装rsync报错怎么办?详细步骤避坑指南

echo "rsync --daemon" | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local

防火墙设置

CentOS 6.5 默认使用 iptables 防火墙,需开放 rsync 默认端口(873):

sudo iptables -I INPUT -p tcp --dport 873 -j ACCEPT
sudo service iptables save
sudo service iptables restart

使用 rsync 进行同步

推送文件(本地到远程)

将本地文件推送到 rsync 服务器:

rsync -avz /local/path/ backupuser@remote_server::backup /remote/path/

参数说明:

  • -a:归档模式,保留权限、时间戳等属性。
  • -v:显示详细过程。
  • -z:压缩传输数据。
  • --password-file:通过密码文件自动认证(避免交互式输入):
    rsync -avz --password-file=/etc/rsyncd.passwd /local/path/ backupuser@remote_server::backup

拉取文件(远程到本地)

从 rsync 服务器拉取文件到本地:

rsync -avz backupuser@remote_server::backup /local/path/

排除文件

在同步时排除特定文件或目录:

rsync -avz --exclude=*.log /local/path/ backupuser@remote_server::backup

常见问题排查

  1. 权限错误:检查 /etc/rsyncd.passwd 权限是否为 600,同步目录权限是否正确。
  2. 连接被拒绝:确认防火墙是否开放 873 端口,hosts allow 配置是否正确。
  3. 认证失败:检查密码文件中的用户名和密码是否与配置一致。

相关问答 FAQs

问题 1:如何修改 rsync 服务的默认端口?
答:在 /etc/rsyncd.conf 配置文件中添加 port = 自定义端口号,然后重启 rsync 服务:sudo pkill rsync && sudo rsync --daemon,同时需在防火墙中开放自定义端口。

问题 2:如何实现 rsync 的定时自动同步?
答:可使用 crontab 设置定时任务,每天凌晨 2 点同步数据:

0 2 * * * /usr/bin/rsync -avz --password-file=/etc/rsyncd.passwd /local/path/ backupuser@remote_server::backup

执行 crontab -e 添加上述任务,保存后即可生效。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.