drdb 基于文件系统同步

rsync 开源的多功能的、可实现全量、增量的本地或远程的数据同步工具。默认不加密,还可以删除,具备scpcprm

inotify实时增量备份,企业一般是rsync+inotifyrsync+sersync。虽然rsync可以增量备份,但企业一般不会采用这个功能,原因在于增量备份时会有比对,特别有业务的情况下,不能这样做会占用大量资源。

rsync 默认参数-avz   -r --delete  /目录后要带斜线,rsync区别与带不带/一般都带代表只包括目录里的内容不含目录。

借助ssh通道传:rsync -avz /etc/hosts -e ssh  oldboy@x.x.x.x:~   

-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 rsync_backup@192.168.44.40::oldboy  /data1 --password-file=/etc/rsync.password将服务端oldboy模块下的文件拷到本地/data1下,然后自动加载密码文件。


客户端排除--exclude排除不需要拷贝的,排除多个{x,y}

服务端排除就在配置文件最后加上exclude=a b 一般不在服务端配置操作因为需要重启服务或杀掉服务。

 

echo /usr/bin/rsync --daemon > /etc/rc.loal

pkill rsync 杀服务的方法或者kill  `cat /var/run/rsyncd.pid`

--delete无差异同步,比如删除不需要的可能客户端和服务端都能有,例如网站×××需要同时删除,但此动作非常危险,如果一旦客户端非人为删除或***删除了,就会导致备份的也没有了。用的时候要特别注意。

timeout连接超时时间,一旦连不上不要一直在那卡着。