rsync配置备忘

使用rsync备份需要在数据服务器和备份服务器均安装rsync

数据服务器配置

1、安装命令:sudo yum -y install rsyncd或sudo apt -y install rsyncd等等

2、安装完成后在/etc目录下能找到配置文件rsyncd.conf,如没有就新建一个

3、编辑文件内容

uid = nobody
gid = nobody
use chroot = no
max connections = 4
log format = %h %o %f %l %b
log file = /var/log/rsync.log #目录尽量不要改动
[shareholderdata]
    path = /home/share/shareholderdata #需要备份的数据路径
    ignore errors = no
    read only = yes
    list = no
    hosts allow = 192.168.1.101 #允许访问的客户端地址,如有多个用逗号分隔
    auth users = vesoft    #在/etc/rsyncd.secret中配置的用户名(非系统用户名)
    secrets file = /etc/rsyncd.secret #目录尽量不要改动,不然容易出现权限问题

4、创建密钥rsyncd.secret文件:sudo vim /etc/rsyncd.secret

5、编辑文件内容

test:123456   
#冒号前是用户名,冒号后是密码,备份服务器访问数据服务器备份数据时需要发送用户名密码进行验证

6、修改rsyncd.secret的权限:sudo chmod 600 /etc/rsyncd.secret,权限必须只有文件所属用户可读写,否则运行时会提示错误

7、重启服务:sudo systemctl restart rsyncd

注:服务运行用户、rsyncd.secret所属用户、rsyncd.conf所属用户必须为同一用户

查看文件所属用户及权限信息:ls -l /文件路径/文件名

查看运行进程所属用户:ps -aux | grep rsync

如果文件所属用户和服务运行用户不是同一用户,使用:

sudo chown 用户名 文件名

命令修改文件所属用户

备份服务器配置

1、安装命令:sudo yum -y install rsyncd或sudo apt -y install rsyncd等等

2、创建密钥rsyncd.secret文件:sudo vim /etc/rsyncd.secret

3、编辑文件内容

123456
#此处不需要用户名,只需要输入在数据服务器中配置的密码

4、修改rsyncd.secret的权限:sudo chmod 600 /etc/rsyncd.secret,权限必须只有文件所属用户可读写,否则运行时会提示错误

5、在备份服务器中运行命令查看是否能够运行成功:

rsync -azu --delete test@192.168.xxx.xxx::shareholderdata /syncdata/ --password-file=/etc/rsyncd.secret

命令简要说明:

test:在数据服务器中的/etc/rsyncd.secret文件中设置的用户名

192.168.xxx.xxx:数据服务器地址

shareholderdata:在/etc/rsyncd.conf文件中设置的模块名

/syncdata/:当前备份服务器中用来存放备份文件的目录

password-file:存放test用户对应密码的文件,当前文件就是/etc/rsyncd.secret,如不写这个参数则在执行命令时会要求输入密码

设置定时启动备份(备份服务器端)

1、创建脚本文件:sudo vim /usr/local/rsync.sh

2、编辑文件内容

rsync -azu --delete test@192.168.xxx.xxx::shareholderdata /syncdata/ --password-file=/etc/rsyncd.secret

3、添加定时任务:sudo vim /etc/crontab

4、在最后行加入一行,每天凌晨1点运行

0 1 * * * root /usr/local/rsync.sh

5、设置文件权限 sudo chmod 555 /usr/local/rsync.sh

6、加载配置信息:crontab /etc/crontab

7、重启定时任务:sudo systemctl restart cron

<think> 首先,用户的问题是:“我想查找rsync配置方法 请问rsync配置方法”。根据系统级指令,我需要使用中文回答,结构清晰,逐步解决问题,并尽量保证真实可靠。 参考提供的引用: - 引用[1]:描述了rsync的命令语法。 - 引用[2]:讨论了rsync的安装部署和常用命令参数。 - 引用[3]:给出了Linux上rsync配置教程,包括启动和配置文件示例。 - 引用[4]:详细说明了服务端配置步骤,包括安装、防火墙、配置文件、密码文件等。 用户的问题直接是关于rsync配置方法,所以我应该基于这些引用构建回答。系统指令要求生成相关问题,所以我需要在回答末尾添加相关问题。 回答结构: 1. **介绍**:简要解释rsync是什么,为什么需要配置。 2. **配置步骤**:基于引用,分步骤描述服务端和客户端的配置方法。 - 服务端配置:从引用[3]和[4]中提取关键点,如安装、配置文件设置(/etc/rsyncd.conf)、密码文件设置、启动服务。 - 客户端配置:如何从客户端同步文件,使用命令语法。 3. **常用参数**:参考引用[2],列出一些常用选项如-a, -v, -z, --delete。 4. **注意事项**:提到安全和日志检查,如引用[2]所述。 5. **示例**:提供一个简单的配置示例,帮助理解。 6. **引用标识**:在相关段落末尾添加引用标识,例如[^1], [^2], [^3], [^4]。 7. **相关问题**:在最后生成相关问题列表。 确保LaTeX语法正确:由于rsync配置主要是命令行和配置文件,不太需要数学表达式,所以可能不需要LaTeX,但要遵守指令。如果提到数学相关的内容,使用$...$或$$...$$,但这里可能不适用。 使用中文回答所有内容。 逐步解决问题: - 先解释rsync配置的整体流程。 - 然后细化服务端配置。 - 再讲客户端使用。 - 最后总结注意事项。 相关问题生成:基于rsync配置主题,生成如优化配置、常见错误、高级用法等问题。 大纲回答: 1. **引言**:rsync是一个高效的文件同步工具,常用于备份和镜像。配置主要包括服务端守护进程设置和客户端命令使用。 2. **服务端配置**: - 安装rsync(如yum install rsync)。 - 编辑配置文件/etc/rsyncd.conf(参考示例)。 - 设置密码文件并设置权限。 - 启动rsync守护进程。 - (添加引用[^3]和[^4]) 3. **客户端配置**: - 基本命令语法。 - 常见选项如-avz。 - 示例命令。 - (添加引用[^1]和[^2]) 4. **注意事项**:防火墙、SELinux、日志检查等。 5. **完整示例**:提供简单的配置示例。 6. **相关问题**:生成2-3个相关问题。 </think> ### rsync 配置方法详解 rsync 是一个高效的文件同步工具,广泛用于备份、镜像和数据传输场景。配置 rsync 主要包括服务端守护进程设置和客户端命令使用。以下是基于可靠参考的详细配置步骤,我将从服务端到客户端逐步解释,确保配置真实可靠。配置的核心在于服务端的 `/etc/rsyncd.conf` 文件和密码管理;客户端则需要正确使用命令语法。 #### 1. **服务端配置(Linux 环境)** 服务端配置涉及安装 rsync、编辑配置文件、设置密码文件、并启动守护进程。所有操作需 root 权限。 - **步骤 1: 安装 rsync** 通过包管理器安装: ```bash yum install -y rsync # CentOS/RHEL 系统 apt-get install rsync # Ubuntu/Debian 系统 ``` - **步骤 2: 关闭防火墙或开放端口** rsync 默认使用端口 873,确保防火墙允许访问: ```bash systemctl stop firewalld && systemctl disable firewalld # 临时关闭(测试环境) # 或配置防火墙规则:firewall-cmd --add-port=873/tcp --permanent && firewall-cmd --reload ``` - **步骤 3: 编辑配置文件 `/etc/rsyncd.conf`** 创建或修改此文件,定义模块(同步目录)。示例配置参考: ```bash # /etc/rsyncd.conf 内容示例 uid = root gid = root use chroot = no # 禁用 chroot,避免权限问题 max connections = 2000 # 最大连接数 pid file = /var/run/rsyncd.pid log file = /var/log/rsyncd.log # 日志文件路径 read only = no # 允许读写操作 secrets file = /etc/rsyncd.password # 密码文件路径 [backup] # 模块名称,客户端通过此引用 comment = backup # 描述 path = /backup # 服务器上的同步目录 list = no # 禁用模块列表显示 auth users = root # 认证用户名(需系统真实用户) ``` 关键参数说明: - `uid`/`gid`: 运行 rsync 的用户/组,推荐非 root(如 `rsync_user`)以增强安全[^3][^4]。 - `secrets file`: 密码文件路径,存储用户名和密码。 - **步骤 4: 设置密码文件** 创建密码文件并设置权限: ```bash echo "root:your_password" > /etc/rsyncd.password # 格式:用户名:密码 chown root:root /etc/rsyncd.password chmod 600 /etc/rsyncd.password # 确保仅 root 可读写 ``` - **步骤 5: 启动 rsync 守护进程** 手动启动并设为开机自启: ```bash rsync --daemon # 启动守护进程 ps -aux | grep rsync # 验证进程运行 chkconfig rsync on # CentOS 6 设置自启 systemctl enable rsyncd && systemctl start rsyncd # Systemd 系统(如 CentOS 7+) ``` 完成后,服务端已配置完毕,可通过日志 `/var/log/rsyncd.log` 监控运行情况[^3][^4]。 #### 2. **客户端配置(同步文件)** 客户端无需复杂配置,主要使用 rsync 命令语法。语法格式灵活,常见如下: - 本地到本地(如备份目录): `rsync [OPTION]… SRC DEST` - 本地到远程: `rsync [OPTION]… SRC [USER@]HOST:DEST` - 远程到本地: `rsync [OPTION]… [USER@]HOST:SRC DEST` **常用选项**: - `-a`: 归档模式,保留文件属性(权限、时间戳等) - `-v`: 显示详细输出,便于调试 - `-z`: 压缩传输数据,节省带宽 - `--delete`: 删除目标端多余文件,确保严格同步 - `-avz`: 组合常用选项,高效同步 **示例命令**: - 从服务端同步文件到客户端: ```bash rsync -avz rsync_user@server_ip::backup /local/path # 使用模块名 ``` 或直接指定路径: ```bash rsync -avz -e 'ssh -p 22' user@server_ip:/remote/path /local/path # SSH 模式 ``` 如果配置了密码文件,需在命令中提供密码或使用 SSH 密钥认证以简化操作[^1][^2]。 #### 3. **注意事项** - **安全设置**:避免使用 root 用户;启用 SELinux 时,检查策略是否阻止 rsync(如 `setenforce 0` 临时禁用)。在生产环境中,推荐 SSH 模式替代守护进程以加密传输[^2][^4]。 - **日志监控**:定期检查 `/var/log/rsyncd.log`,识别错误或未授权访问。 - **Windows 支持**:rsync 可在 Windows 运行(如通过 Cygwin 或 cwRsync),但配置类似,需注意路径格式转换。 - **权限问题**:确保同步目录(如 `/backup`)权限与服务端用户匹配,否则可能导致失败。 #### 4. **完整配置示例** 假设服务端 IP 为 192.168.1.100,客户端同步目录到本地 `/backup`: ```bash # 客户端命令 rsync -avz --delete root@192.168.1.100::backup /backup ``` 系统会提示输入密码(已在服务端设置)。通过添加 `--password-file` 选项可自动化。 通过以上步骤,rsync 配置完成可实现高效文件同步。建议测试小目录后再部署到生产环境【参考综合[^1][^2][^3][^4]】。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值