1.为什么要用rsync:
有两台主机,开始准备做HA,考虑到工作量的问题,最终决定将重要文件进行同步即可。
找了一些同步的工具,rsync得到一致好评,速度快,消耗小等等。
2.接着找资料,最后选用了一片博文来参考,有些地方跟他做的不一样。
http://blog.csdn.net/yangzhawen/article/details/46800333
后面将内容贴上来。
3.配置好后,客户端同步时,提示权限不够,又找了各种原因,最终得到了解决。
主要是在模块中配置的用户需要有该文件的权限,最后在为了简单起见用了root用户。
4.发现其他的用法
1)直接用rsync来拷贝单个文件
rsync -vI /tmp/test/test.txt root@gphead01:/tmp/test/
2)拷贝文件夹
rsync -av /tmp/test/ -e ssh root@gphead01:/tmp/test
5.这样,需要增量更新的数据就用服务器的方式来做,只需要一次拷贝的就用文件传输,做到文件的同步。
rsync配置参考资料:
转自:http://blog.csdn.net/yangzhawen/article/details/46800333
http://rsync.samba.org/
rsync-3.1.1.tar.gz
---0.卸载rpm
# yum remove rsync
-----1.安装:
tar -zxvf rsync-3.1.1.tar.gz
cd rsync-3.1.1
./configure --prefix=/usr/local/rsync --disable-ipv6
make
make install
ln -s /usr/local/rsync/bin/rsync /usr/local/bin/rsync
----2.server端配置
# vi /usr/local/rsync/rsyncd.conf
pid file = /var/run/rsyncd.pid
port = 873
uid = root
gid = root
use chroot = no
max connections = 200
timeout 600
lock file = /var/run/rsyncd.lock
log file = /var/run/rsyncd.log
secrets file = /usr/local/rsync/rsyncd.secrets
motd file = /etc/rsyncd.motd
[test]
path = /test/
ignore errors
read only = true
list = false
hosts allow = *
#hosts deny = 0.0.0.0/32
auth users root #该用户系统中存在且对后面指定的备份目录拥有权限
comment = ocpyang test
#vi /usr/local/rsync/rsyncd.motd
++++++++++++++++++++++++++++++++++++
Wlecome to ocpyang rsync services
++++++++++++++++++++++++++++++++++++
--指定rsync访问的密码,密码不需要和系统账号密码相同
# vi /usr/local/rsync/rsyncd.secrets
root:snow01
ln -s /usr/local/rsync/rsyncd.conf /etc/rsyncd.conf
ln -s /usr/local/rsync/rsyncd.motd /etc/rsyncd.motd
ln -s /usr/local/rsync/rsyncd.secrets /etc/rsyncd.secrets
chmod 600 /usr/local/rsync/rsyncd.secrets
chown root:root /usr/local/rsync/rsyncd.secrets
启动rsync
# /usr/bin/rsync --daemon --config=/etc/rsyncd.conf
# echo "/usr/bin/rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.d/rc.local
# cat /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/usr/bin/rsync --daemon
# netstat -lntp | grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 10689/rsync
tcp 0 0 :::873 :::* LISTEN 10689/rsync
--新建测试文件
#dd if=/dev/zero of=/test/t01.file bs=1M count=50
#pkill rsync
----3.客户端服务器配置
(1).新建客户端密码文件(客户端不带用户名)
#vi /etc/rsyncd.secrets
snow01
#chmod 600 /etc/rsyncd.secrets
rsync -vzrtopg --progress --delete root@192.168.5.189::test /ocpyang/
rsync -vzrtopg --progress --delete root@192.168.5.189::test /ocpyang/ --password-file=/etc/rsyncd.pwd
(3).新建同步脚本
# vi /rsync.sh
#!/bin/bash
rsync -vzrtopg --progress --delete root@192.168.5.189::test /testbak/
rsync -vzrtopg --progress --delete root@192.168.5.189::test /testbak/ --password-file=/etc/rsyncd.pwd
(4).手动同步文件
#cd /
#./rsync.sh
(5).自动同步:每隔五分钟同步一次
# crontab -e
0,5 * * * * /rsync.sh