(2)配置192.168.163.143
新建密码文件写上backup的密码即可,在修改权限:
# cat /etc/server.pass
RedHat123
# chmod 600 /etc/server.pass
开始同步指令如下:
# rsync -vzrtopg --delete --progress --exclude "*access*" --exclude "debug*" backup@192.168.163.144::redhat /data --password-file=/etc/server.pass
receiving file list ...
4 files to consider
created directory /data
./
a.debug
0 100% 0.00kB/s 0:00:00 (xfer#1, to-check=2/4)
a.test
0 100% 0.00kB/s 0:00:00 (xfer#2, to-check=1/4)
test.a
0 100% 0.00kB/s 0:00:00 (xfer#3, to-check=0/4)
sent 163 bytes received 283 bytes 892.00 bytes/sec
total size is 0 speedup is 0.00
可以看到已经同步过来的3个文件
-v:详细输出
-z:传输时进行压缩
-r:对子目录递归处理
-t:保存文件时间信息
-o:保存文件的属主
-g:保持文件的属组
-p:保持文件权限
--delete:保持目录的一致性
--progress:显示同步过程
--exclude:排除不需要的文件
backup@192.168.163.144::redhat:指定对144中的redhat模块以backup用户备份
/data:备份到的目录
--password-file:指定密码文件
5、以上就配置完毕了,可以加到计划任务中,但是没法实时的同步,所以就有了rsync+inotify的搭建了
服务器A:192.168.163.144(rsync)
服务器B:192.168.163.143(rsync+inotify)
rsync的安装就不介绍了,直接在143上面装inotify:
# tar xf inotify-tools-3.14.tar.gz
# cd inotify-tools-3.14
# ./configure && make && make install
之后143上写个脚本,如下:
# cat in.sh
#!/bin/bash
host1=192.168.163.144
src=/data
des1="redhat"
user1="backup"
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib ${src} \
| while read files
do
rsync -vzrtopg --delete --progress ${src}/ ${user1}@${host1}::${des1} --password-file=/etc/server.pass &&
echo "${files} was rsynced" >> /tmp/rsync.log 2>&1
done
# chmod 755 in.sh
# /root/in.sh &
之后在/data下新建文件,144上就会同步过来,相比而言是实时的,不过当有大量文件的时候系统性能的问题可想而知了。