一款快速增量备份工具
rsync+免密码验证+定时计划任务/脚本 ————》 实时增量文件备份机制
Remote Sync 远程同步
rsync 同步源 : 指备份操作的远程服务器
也称备份原
一: 同步源
1: 基于ssh 的同步源
在服务器端创建一个用户,为要备份的目录设置acl 权限
setfacl
下行同步
将服务器的相关目录里的数据备份到另外的服务器
rsync -avz 用户名@服务器地址:/ 服务器目录 /本地目录
上行同步
rsync -avz /本地目录 用户名@服务器地址:/服务器目录
2: 基于RSYNC的同步源
vim /etc/rsyncd.conf
address = 监听的端口号
port 873
pid file = /var/run/resyncd.pid
log file = /var/log/rsyncd.log
[share] ##共享区域
comment = soft ##说明
path = /server/rsync ##具体服务器共享目录
read only =yes # 只读
dont compress =*gz *gip *bz2 ##对以此结尾的压缩文件不做处理
auth user =wang ##虚拟用户
secrets file =/etc/rsyncd_users.db ##虚拟用户存放密码的文件 (必须以此文件名命名)
:wq
存放虚拟用户的密码文件 注: 必须赋予该文件600 权限 否则 ,备份会报错,失败
vim /etc/rsync_users.db
wang :123456 (密码一般八位以内)用户名必须顶头书写
:wq
/etc/rsyncd.conf
/etc/rsync_users.db
下行同步时报错:auth faild on module share (认证模块失败)
问题原因:服务器端的报错虚拟用户的文件必须是600权限
rsync -avz 用户名@服务器地址::共享模式块名 /本地目录
上行同步时,赋予nobody用户写入权限
rsync -avz /client/rsync/* [email protected]::share
或者
rsync -avz rsync://用户名@服务器地址/共享模块 /本地目录
同步报错:module is only (模块为只读)
解决方法:修改/etc/rsyncd.conf 中read only =no
二 免密码验证
1: 基于ssh的同步源
通过密钥对实现
在备份到的服务器端
#ssh-keygen -t rsa ##生成密钥对
#ssh-copy-id [email protected] ##将本地密钥对上传至服务器端
2:基于rsync 的同步源
本地端:
#echo $RSYNC_PASSWORD
#export RSYNC_PASSWORD=123456 ##将虚拟用户设置的密码赋给全局变量