rsync备份服务器部署---相关报错

本文详细解析了rsync服务中常见的权限阻止及备份目录层级创建失败的问题,包括客户端报错的具体情况,如Permission denied和No such file or directory,并提供了具体的解决步骤,如修改目录所有者和手动创建备份目录。

1.rsync服务权限阻止问题

1. 1.客户端报错

Permission denied (13)

1.2错误过程

[root@nfs01 lpc]#  rsync -avz /lpc/ --exclude-from=/lpc/exclude_file  rsync_backup@172.16.1.41::backup --password-
file=/etc/rsync.password 
sending incremental file list
rsync: delete of stat xattr failed for "." (in backup): Permission denied (13)

sent 196 bytes  received 105 bytes  602.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]

解决方法
修改rsync服务端的/backup目录的所有者和所属组

[root@backup backup]# chown rsync.rsync /backup/

2.rsync服务备份目录层级创建功能

2.1 客户端报错

No such file or directory (2)

2.2 报错过程

[root@nfs01 lpc]# rsync -avz /lpc/  rsync_backup@172.16.1.41::backup/01/02 --password-file=/etc/rsync.password 
sending incremental file list
rsync: mkdir "01/02" (in backup) failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(657) [Receiver=3.1.2]

2.3 解决方法

rsync服务备份目录创建目录功能–无法创建多级目录
创建目录的时候一级一级的去创建

<think>嗯,用户现在想了解rsync进行备份的方法,之前已经讨论过MySQL备份的策略,看来用户对备份这块很关注。用户引用了好几段关于rsync的资料,包括基本概念、传输模式、守护进程设置和实时备份脚本,说明ta需要系统化的操作指南。 从运维工程师角度看,rsync备份需要分三个层面讲清楚:首先是基础命令的使用场景,比如本地和远程备份;然后是生产环境必备的守护进程模式,这是最可靠的方案;最后是实时同步方案,解决数据及时性问题。用户提到的inotify结合rsync的方案确实很实用,特别是ta引用的脚本里用了-e参数指定ssh端口这个细节,说明可能遇到非标准端口的环境。 用户引用的资料里有个关键点:rsync默认增量备份,加--delete才能完全同步。这个必须强调,因为很多人以为同步就是完全一致,其实不加--delete的话,目标端删除文件不会同步删除。另外ta提到的虚拟用户和权限设置也很专业,这些在生产环境都是必须的。 考虑到用户之前问过MySQL备份,可能ta现在是在搭建完整的备份体系。需要特别说明rsync和数据库备份的结合点——比如先mysqldump生成文件再用rsync传走,避免直接同步数据库文件导致锁表问题。不过这个可能超出当前问题范围,可以作为扩展建议。 最后生成的问题要覆盖不同用户需求:有想验证备份效果的,有处理海量数据的,还有云环境差异的。特别是第三个问题,现在用云数据库的人越来越多,传统物理机备份和云备份的区别确实值得展开。 </think>作为专业运维工程师,以下从**基础操作**到**生产级方案**详解rsync备份方法,结合真实运维场景: --- ### 一、rsync备份核心原理 1. **增量备份**:默认仅传输差异数据(修改部分),大幅降低带宽和耗时[^2] 2. **一致性保障**:通过校验和(`-c`)确保数据完整性 3. **传输模式**: - 本地模式:`rsync -av /src/ /dest/`(保留文件属性) - SSH远程模式:`rsync -avz -e ssh /src/ user@host:/dest/`(加密传输) - **守护进程模式**(生产推荐):后台服务化传输 --- ### 二、生产环境备份方案 #### ▶ 守护进程模式部署(服务端配置) ```bash # 1. 创建专用用户(禁止登录) useradd -M -s /sbin/nologin rsync_backup # 2. 配置密码文件(权限600) echo "rsync_user:MyPass123" > /etc/rsyncd.secrets chmod 600 /etc/rsyncd.secrets # 3. 配置文件 /etc/rsyncd.conf uid = rsync_backup gid = rsync_backup [backup] # 模块名 path = /data/backup # 存储路径 auth users = rsync_user # 认证用户 secrets file = /etc/rsyncd.secrets read only = no # 允许写入 ``` #### ▶ 客户端备份命令 ```bash # 推送备份(含删除同步) rsync -avz --delete /local/data/ rsync_user@server_ip::backup \ --password-file=/client_secrets # 拉取恢复 rsync -avz rsync_user@server_ip::backup /recovery/path/ ``` > **关键参数解析**: > - `--delete`:目标端同步源端删除操作(完全一致) > - `--password-file`:免交互密码验证(权限需600) > - `-z`:压缩传输 | `-a`:归档模式(保留属性) --- ### 三、高级备份策略 #### 1. **实时同步方案**(inotify + rsync) ```bash #!/bin/bash # 监控目录并触发同步 inotifywait -mrq -e modify,create,delete /data | while read path action file; do rsync -az --delete /data/ rsync_user@backup_server::backup done ``` > - **优势**:毫秒级延迟,适用于关键业务数据[^5] > - **局限**:高频变更场景需优化队列(如lsyncd工具) #### 2. **限速与重试机制** ```bash rsync -avz --bwlimit=10000 --timeout=300 \ --partial --append-verify /src/ user@host:/dest/ ``` > - `--bwlimit=10000`:限制带宽为10MB/s(避免拥塞) > - `--partial`:断点续传 | `--append-verify`:增量校验 --- ### 四、灾备场景实践 #### 异地备份架构 ```mermaid graph LR A[生产服务器] -->|rsync over SSH| B(本地备份中心) B -->|加密隧道| C[异地备份节点] ``` **操作步骤**: 1. 本地到备份中心:`rsync -avz -e 'ssh -p 2222' /data/ backup@local_center:/backup/` 2. 中心到异地:`rsync -avz --rsh="ssh -c aes256-ctr" backup@local_center:/backup/ disaster@remote:/` > **安全强化**: > - 使用非标准SSH端口(`-p 2222`) > - AES-256加密传输(`-c aes256-ctr`) --- ### 五、备份验证与排错 | **问题** | **解决方案** | |-------------------------|----------------------------------| | 报错`@ERROR: auth failed` | 检查`rsyncd.secrets`文件权限是否为600 | | 传输中断 | 添加`--partial --append`支持断点续传 | | 磁盘空间不足 | 使用`--max-size=1G`限制单文件大小 | **验证备份完整性**: ```bash # 对比源端和备份端的文件校验和 find /src -type f -exec md5sum {} + | sort > src.md5 ssh user@backup_host "find /dest -type f -exec md5sum {} + | sort" > dest.md5 diff src.md5 dest.md5 ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值