it
分类:
2010-06-03 15:38:19
3.安装完成后,在rsync.2.6.9中,并无RSYNC的配置文件,故,要手工创建
shell>vi /etc/rsync/rsyncd.conf #内容如下
uid=root
gid=root
max connections=4 linux
user chroot=yes
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock mysql
secrets file=/etc/rsync/rsyncd.scrt
#hosts allow=218.107.243.2,60.173.7.35 linux
#hosts deny=60.173.7.34
[squid]4.再来创建密码文件.
vi /etc//rsync/rsyncd.scrt
squid:123456
有多个用户,在第二行列出!
处于安全原因,要将该文件更改权限(如果不更改权限,后期复制时,会出现错误) ssh
注:此用户和密码,非系统用户的密码,也就是说系统中无需创建upfiles用户! ssh
5.运行服务 oracle
/usr/bin/rsync --daemon --config=/etc/rsync/rsyncd.conf 注意这里=前后是没有空格的。
此时用ps -aux|grep rsync就能看到rsync --daemon进程! linux
6.测试
本地测试:/usr/bin/rsync -a squid@A自己的IP地址::squid
输入密码:123456
看一下能否看到自己所共享文件夹下的文件(如果上在的参数码相机list=no,可会看不到,故在测试时,请将list=yes)
[root@localhost Desktop]# rsync -a squid@192.168.99.25::squid
Password:
drwxr-xr-x 4096 2010/06/01 09:26:40 .
-rw-r--r-- 16384 2009/12/03 21:47:01 .squid.conf.swn
-rw-r--r-- 20480 2002/02/05 15:07:44 .squid.conf.swo
-rw-r--r-- 16384 2007/10/18 11:47:39 .squid.conf.swp
drwxr-xr-x 4096 2009/06/16 08:28:31 acl
drwxr-xr-x 4096 2010/06/01 14:14:08 acl/ip
-rw------- 12288 2009/04/28 11:34:07 acl/ip/.swp
-rwxr--r-- 1592 2010/05/18 15:13:01 acl/ip/8-20
-rwxr--r-- 1357 2010/05/27 10:16:03 acl/ip/8-22
-rwxr--r-- 982 2010/05/11 15:06:33 acl/ip/820-180
-rw-r--r-- 233 2010/01/22 16:32:30 acl/ip/820-180-ssl.txt
-rwxr--r-- 1338 2010/05/11 15:06:44 acl/ip/830-1730
-rwxr--r-- 2935 2010/05/18 15:19:06 acl/ip/admin
-rwxr--r-- 1139 2010/05/26 09:50:05 acl/ip/administrator
-rw-r--r-- 114 2009/11/20 10:35:53 acl/ip/audit-user
如果能看到,则服务器的配置结束,
7、远端服务测试
下面进行服务器B的设置!
B服务器上暂时我们只设置这的客户端的功能,也就是说,只从服务器A中同步数据!所以我们也要安装RSYNC软件,安装方法同上! mysql
安装完成后,先进行手工同步测试
/user/bin/rsync -vzrutogp --progress a服务器的IP地址::squid /var/www/backup
要求输入密码(服务器上设置的)后,有看到复制数据的信息.表明成功!因为我们想让数据同步的过程自动化,所以我们要创建个脚本:
vi /usr/local/rsync/backup.sh
/server/rsync/bin/rsync -vzrutogp --progress --password-file=/etc/rsyncclien
t.pwd backup /var/www/backup
说明:--password-file提明连接请求的密码文件,这个我们也要手工建立 oracle
vi /et/rsyncclient.pwd mysql
只输入密码,不要输入用户名,在这里,我们只要输入123456,保存退出即可!
注意rsyncclient.pwd是600 root所有
我们手工执行一次 /server/rsync/backup.sh,如果成功,直接写入crontab中即可!
crontab -e
*/2* * * * /server/rsync/backup.sh
那么,当服务器A中填加一个文件,或删除某一个文件,有任何变化,B服务器都会跟前发生变化!但是,如果服务器B中的一个文件删除了,A是不能将其删除的!
如果你想真正的实现A,B服务器相同,可在backup.sh的rsync命令后加入参数--delete即可!
我没有加,是因为我不但要保证A服务器文件变化要复制到B上去,同时我还要将服务器B上的文件变化转到A上去!所以不能加--delete参数,否则两个服务器文件的同步,无法实现!
安装过程常见问题解答
1. Q: 出現以下這個訊息, 是怎麼一回事?
@ERROR: auth failed on module xxxxxrsync: connection unexpectedly closed (90 bytes read so far)rsync error: error in rsync protocol data stream (code 12) at io.c(150) linux
A: 這是因為密碼設錯了, 無法登入成功, 請再檢查一下 rsyncd.pwd ,rsyncd.sec中的密碼設定, 二端是否一致?有时服务器端没有起动服务也会出现这种情况
2. Q: 出現以下這個訊息, 是怎麼一回事?
password file must not be other-accessible mysql
continuing without password file
Password: oracle
A: 這表示 rsyncd.pwd rsyncd.sec 的檔案權限屬性不對, 應設為 600 unix
3. Q: 出現以下這個訊息, 是怎麼一回事? unix
@ERROR: chroot failedrsync: connection unexpectedly closed (75 bytes read so far)rsync error: error in rsync protocol data stream (code 12) at io.c(150)
A: 這通常是您的 rsyncd.conf 中
的 path 路徑所設的那個目錄並不存在所致.
請先用 mkdir 開設好備份目錄.
4.Q:出现一下信息是怎么回事
rsync: failed to connect to 218.107.243.2: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=2.6.9]
所以情況會是:
1. 對方主機沒開機
2. 對方有 firewall 阻擋
3. 所通過的網路上有 firewall 阻擋 oracle
shell>setup #关闭防火墙,其实最重要的也就是把tcp udp 的873端口打开。
5.Q :
[root@py-proxy-bk ~]# rsync -a root@192.168.99.25::squid /tftpboot/etc/
Password:
@ERROR: auth failed on module squid
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(359)