服务端
- 编写服务配置文件(man rsyncd.conf)
uid = rsync --- 设置一个虚拟用户管理 备份服务的备份目录
gid = rsync --- 设置一个虚拟用户组管理 备份服务的备份目录
port = 873 --- rsync备份服务默认端口号
fake super = yes --- 将指定虚拟用户(rsync)伪装成超级管理员 ???
传输数据不会有 Operation not permitted 错误提示
use chroot = no --- 安全优化参数
max connections = 200 --- 同时可以支持多少个客户端连接
timeout = 300 --- 设置超时时间,
在超时时间之内,链路有数据传输,不会断开连接
在超时时间之内,连接没有数据传输,超时时间倒计时归零,强制断开连接
pid file = /var/run/rsyncd.pid --- 记录进程号码文件
文件存在, 不用反复启动服务程序
文件不存在, 可以正常启动服务程序
停止服务方法kill `cat /var/run/rsyncd.pid`
lock file = /var/run/rsync.lock --- 锁文件,限制并发连接数
log file = /var/log/rsyncd.log --- 程序日志文件 帮助解决异常问题
ignore errors --- 忽略错误信息 自动实现重传机制
read only = false --- 设置备份目录权限
list = false --- ???
hosts allow = 172.16.1.0/24 --- 设置一个白名单
hosts deny = 0.0.0.0/32 --- 设置一个黑名单
auth users = rsync_backup --- 设置一个认证用户
secrets file = /etc/rsync.password --- 创建一个认证用户密码文件(rsync_backup:oldboy123)
[backup_1] --- 模块信息 ???
comment = "backup dir"
path = /backup --- 备份目录
- 创建一个rsync虚拟用户
#创建一个虚拟用户,不需要家目录
useradd -s /sbin/nologin -M rsync
- 创建认证用户密码文件
#rsync_backup是rsyncd.conf配置文件auth users指定的认证用户
#oldboy123是密码
echo 'rsync_backup:oldboy123'
#密码文件设置自己可见
chmod 600 /etc/rsync.password
- 创建备份目录
mkdir -p /backup
chown rsync.rsync /backup/
- 启动服务程序
systemctl start rsyncd
systemctl enable rsyncd
配置客户端文件
- 进行备份数据测试
#rsync_backup为服务端配置文件指定的认证用户,backup_1是配置文件的模块名称
rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup_1
- 实现客户端备份数据免交互传输(创建密码文件)
echo oldboy123 >/etc/rsync.password
chmod 600 /etc/rsync.password
- 实现免交互传输数据
rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup_1 --password-file=/etc/rsync.password
rsync参数
-v 显示数据详细传输过程
-z 是否对传输的数据进行压缩处理
-a 归档参数 -a参数 == rlptgoD
-r 递归复制数据信息(复制目录 cp -r)
-l 复制链接文件保持链接文件属性信息不变 可以将链接文件进行传输
-L 备份链接文件,并且链接文件中有源文件内容
-p 备份文件保持文件权限属性信息不变
-t 备份文件保持文件修改时间属性信息不变
-g 备份文件保持属组信息不变 (必须目录管理用户为root)
-o 备份文件保持属主信息不变 (必须目录管理用户为root)
-D 复制设备文件保持设备文件属性信息不变 可以将设备文件进行传输
-P 复制文件信息显示数据传输的进度
--exclude 在备份一个目录时,排除指定数据不要进行传输
**** exclude后面必须是绝对路径(相对于要备份的目录,也就是/oldboy/)
(rsync -avz /oldboy/ --exclude=a.txt --exclude=c.txt rsync_backup@172.16.1.41::backup)
--exclude-from 在备份一个目录时,排除指定数据不要进行传输
(exclude-from建议是绝对路径)
--delete 无差异数据同步操作 (慎用)
image.png更改rsync端口874 ,加参数可以传 --port
网友评论