drdb 基于文件系统同步
rsync 开源的多功能的、可实现全量、增量的本地或远程的数据同步工具。默认不加密,还可以删除,具备scp、cp、rm。
inotify实时增量备份,企业一般是rsync+inotify或rsync+sersync。虽然rsync可以增量备份,但企业一般不会采用这个功能,原因在于增量备份时会有比对,特别有业务的情况下,不能这样做会占用大量资源。
rsync 默认参数-avz -r --delete /目录后要带斜线,rsync区别与带不带/。一般都带代表只包括目录里的内容不含目录。
借助ssh通道传:rsync -avz /etc/hosts -e ‘ssh ’ [email protected]:~
-e表示需要借助的通道
v 表示verbose详细输出
z表示compress压缩传输
a--递归模式,保持文件时间,保持属主、权限、数组,显示同步过程进度等
rsync配置文件目录为/etc/rsyncd.conf默认不存在需要vi创建。
需手动写如下:
uid = rsync
gid = rsync
use chroot = no 不考虑安全性
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid 进程号所在的文件
locak file = /var/run/rsync.lock 锁的机制
log file = /var/log/rsyncd.log
[oldboy]
path = /oldboy/ 相当于nfs的共享目录
ignore errors 传输过程中如遇到错误就忽略
read only = false
list = false 不允许列表
hosts allow = 0.0.0.0/0
hosts deny = 0.0.0.0/32
auth users = rsync_backup 虚拟用户认证
secrets file = /etc/rsync.password 把密钥写到文件里,不用每次传输要手敲密码
rsync --daemon以守护进程的方式启动
服务等操作如下:
mkdir /var/log/rsyncd.log -p
mkdir /var/run/rsync.lock
mkdir /oldboy -p
useradd rsync -s /sbin/nogin
chown -R rsync.rsync /oldboy/
echo ‘rsync_backup:oldboy‘ >/etc/rsync.password虚拟用户的密码为oldboy
chmod 600 /etc/rsync.password
客户端:
echo ‘oldboy‘ > /etc/rsync.password
chmod 600 /etc/rsync.password
rsync一般都是在客户端操作,服务端只是以daemon方式启动就行
rsync -avz [email protected]::oldboy /data1 --password-file=/etc/rsync.password将服务端oldboy模块下的文件拷到本地/data1下,然后自动加载密码文件。