文件实时同步服务器---rsync的演示(2)

本文介绍了如何在CentOS7中利用rsync协议创建一个安全的同步源,避免频繁创建系统用户带来的风险。通过配置rsyncd.conf文件,设置权限和密码文件,实现上行和下行同步。在遇到权限问题时,需要调整服务权限和文件权限,如设置facl以允许nobody用户写入,并启用fake super选项解决报错。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二、基于rsync协议的同步源
在vsftpd中,有虚拟用户(管理员自定义的模拟用户),原因在于使用匿名用户和本地用户都不太安全。我们知道基于SSH协议的同步源必须要保证有一个系统的用户,当有许多的同步需求时,就可能需要创建许多的用户,这显然不符合Linux的运维标准(用户数越多,服务器越不安全)在rsync中,为了安全性考虑,就有了基于rsync协议的同步源。

具体怎么弄呢?
在配置文件中写入对应的参数以及值就可以了。在原先的老版本rsync中,需要手动创建/etc/rsyncd.conf这个文件,但是在Centos7中,这个文件已经从安装包中安装了出来,且有样板注释。
在这里插入图片描述
一眼看到这个样板,就发现和samba配置文件的基本没有什么大的区别。在samba配置文件中,我们有全局设置(Global Settings)以及共享设置(Share Definitions)。到了rsync这里,也是如此,需要定义一些参数以及值,如下图所示。密码文件的权限必须是600,否则就会报错。另外,官方手册说密码文件里的密码最好不要超过8位。
在这里插入图片描述
这边同步源已经配置完成,如下:

<think>嗯,用户想了解rsync命令的参数-avhP的用法。首先,我需要回忆这些参数分别代表什么。记得a是归档模式,v是详细输出,h是易读的格式,P是显示进度和断点续传。不过得确认每个参数的具体作用,避免记错。比如,归档模式a是否包含递归、保留权限等?是的,归档模式通常包括-rlptgoD,也就是递归、保留符号链接、权限、时间戳、组、所有者和设备文件。 然后,用户可能需要具体的例子,比如如何同步本地目录到远程,或者反之。需要结合引用中的例子,比如引用[1]中的命令格式,注意路径后面的斜杠问题,像引用[3]提到的,目录后面有斜杠和没有斜杠的区别。比如rsync -avhP /source/ /dest/ 会同步source目录下的内容到dest,而rsync -avhP /source /dest/ 则会把source目录本身同步到dest里。 另外,参数P其实是--partial和--progress的组合,需要解释清楚。部分传输的文件会保存下来,方便下次继续,而进度显示让用户看到实时传输情况。可能还要提到断点续传的好处,特别是在大文件或网络不稳定的情况下。 用户可能还想知道这些参数在实际使用中的常见场景,比如备份时使用-vh来查看详细信息和易读的大小,或者用-P来监控大文件的传输进度。结合引用中的例子,比如引用[1]中的--delete和--password-file,可以提到其他常用参数,但用户当前的问题集中在-avhP,所以需要保持重点。 还要注意语法正确性,比如选项的顺序是否影响,一般来说不影响,但习惯上可能会把常用选项放在前面。同时,确保给出的示例命令正确,比如同步本地目录到远程服务器,或者两个本地目录之间的同步。需要检查路径格式,远程地址的写法,如user@host::module的格式是否正确,如引用[1]所示。 可能用户在使用时遇到的问题,比如排除文件,或者权限问题,但根据问题描述,用户主要关注-avhP的用法,所以暂时不需要深入其他参数,除非相关。不过可以简要提及其他常用参数,如--exclude,如引用[3]和[5]提到的,但放在相关问题里更合适。 最后,确保回答结构清晰,分点解释每个参数,给出示例,并注意路径格式的问题,避免用户混淆。同时,生成的相关问题要围绕rsync的常见使用场景、参数组合、排除文件的方法等,参考已有的引用内容,如引用[3]和[5]关于排除规则的内容,可以生成相关问题,比如如何排除特定文件,或者如何使用过滤规则。</think>### rsync命令参数详解:-avhP用法说明 #### 一、参数分解 1. **`-a`(归档模式)** - 组合参数,等价于 `-rlptgoD`,包含以下功能: - `-r`:递归传输目录 * `-l`:保留符号链接 * `-p`:保留文件权限 * `-t`:保留文件修改时间 * `-g`:保留文件属组 * `-o`:保留文件属主 * `-D`:保留设备文件和特殊文件 - 用途:适用于完整备份场景,保留文件所有元数据[^2] 2. **`-v`(详细模式)** - 显示同步过程的详细信息,包括传输的文件- 示例输出: ``` sent 1,234 bytes received 567 bytes 3,602.00 bytes/sec ``` 3. **`-h`(易读格式)** -文件大小转换为人类可读单位(如KB/MB/GB) - 示例:`1.2G app.log` 替代原始字节数 4. **`-P`(进度与断点续传)** - 组合参数,等价于 `--partial --progress` - `--progress`:显示实时传输进度百分比 - `--partial`:保留未完全传输的文件,支持断点续传 - 示例进度显示: ``` app.iso 10% 500MB 10MB/s 00:05:02 ``` #### 二、典型应用场景 1. **本地到远程同步** ```bash rsync -avhP /data/project/ user@remote:/backup/project/ ``` - 注意:路径结尾的`/`表示同步目录内容(无斜杠则同步目录本身)[^3] 2. **远程到本地同步** ```bash rsync -avhP user@remote:/var/log/ /local_backup/logs/ ``` 3. **增量备份演示** ```bash # 首次完整同步 rsync -avhP source/ destination/ # 后续增量同步(仅传输变化部分) rsync -avhP source/ destination/ ``` - rsync算法通过校验文件差异实现高效增量传输 #### 三、参数组合效果演示 ```bash $ rsync -avhP /photos/ /backup/photos/ building file list... 23 files to consider ./ IMG_20230101.jpg 2.1G 100% 65.2MB/s 0:00:32 (xfr#1, to-chk=21/23) IMG_20230102.jpg 1.8G 100% 58.4MB/s 0:00:30 (xfr#2, to-chk=20/23) ... Total transferred: 15.6GB ``` #### 四、注意事项 1. 网络中断恢复: ```bash # 中断后重新执行相同命令即可续传 rsync -avhP --append source.file user@remote:/path/ ``` 2. 带宽限制(添加`--bwlimit=5000`限制为5MB/s): ```bash rsync -avhP --bwlimit=5000 largefile.iso user@remote:/backup/ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值