rsync 的安装和同步测试总结
2010-12-15 15:01
330 查看
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了--remote sync。它的特性如下:
可以镜像保存整个目录树和文件系统。
可以很容易做到保持原来文件的权限、时间、软硬链接等等。
无须特殊权限即可安装。
优化的流程,文件传输效率高。
可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜象。
1)Centos默认会自带Rsync,为了方便使用,建议先卸载掉
rpm -qa |grep "rsync" 查看是否带有rpm安装的rsync
rpm -e rsync-x.x.x 如果有就卸载掉
2)下载安装Rsync最新稳定版
wget http://rsync.samba.org/ftp/rsync/rsync-3.0.7.tar.gz
tar zxvf rsync-3.0.7.tar.gz
cd rsync-3.0.7
./configure --prefix=/usr/local/rsync
make
make install
说明一点,客户机和服务器都要安装rsync。客户机以客户端方式运行rsync,服务器端以服务器方式运行rsync,它监听873端口。
3) 设定 /etc/xinetd.d/rsync, 如下:
# default: off
# description: The rsync server is a good addition to am ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
然后执行chkconfig rsync on 使上述设定生效.
主要是要打开 rsync 這个 daemon, 一旦有 rsync client 要连接时, xinetd 会把它转介給 rsyncd (跑 port 873).
4)服务器端手动设置配置文件/etc/rsyncd.conf
vi /etc/rsyncd.conf
插入以下内容,如果之后调试遇到错误,建议把注释都去掉,以免造成不必要的错误
view plaincopy to clipboardprint?
uid = root
gid = root
use chroot = no
max connections = 4
strict modes =yes
port = 873
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[www] # 这里是认证的模块名,在client端需要指定
path = /data0/htdocs/www/ # 需要做镜像的目录
comment = This is a test
ignore errors
read only = yes
list = no
# 认证的用户名,如果没有这行,则表明是匿名
auth users = tony
secrets file = /etc/rsync.pas
hosts allow = 192.168.10.225,10.10.10.10
hosts deny = 0.0.0.0/0
#transfer logging = yes
uid = root
gid = root
use chroot = no
max connections = 4
strict modes =yes
port = 873
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[www] # 这里是认证的模块名,在client端需要指定
path = /data0/htdocs/www/ # 需要做镜像的目录
comment = This is a test
ignore errors
read only = yes
list = no
# 认证的用户名,如果没有这行,则表明是匿名
auth users = tony
secrets file = /etc/rsync.pas
hosts allow = 192.168.10.225,10.10.10.10
hosts deny = 0.0.0.0/0
#transfer logging = yes
5)设置密码文件
在服务器端:
echo "tony:111111" >> /etc/rsync.pas 注意格式,以及用户名要与配置文件一致
安全起见,设置密码文件的拥有者为root,权限为只读
chown root:root rsync.pas
chmod 600 /etc/rsync.pas
在客户端:
echo "111111" >> /etc/rsync.pas 注意格式,以及密码要与服务器端一致
安全起见,设置密码文件的拥有者为root,权限为只读
chown root:root rsync.pas
chmod 600 /etc/rsync.pas
service xinetd restart,使配置生效,如果没有xinetd,需求再安装一下 yum install xinetd
6)客户端服务器都启动rsync
/usr/local/bin/rsync --daemon
或者xinetd进程启动 /etc/rc.d/init.d/xinetd reload
可以把该启动命令加入/etc/rc.local
在服务器端验证启动是否成功:
netstat -na|grep 873
7)打开iptables防火墙:
vi /etc/sysconfig/iptables
加入-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
service iptables restart
8)从客户端进行测试:
从服务器端取文件
/usr/local/rsync/bin/rsync -vzrtopg --progress --delete tony@192.168.10.220::www /data0/htdocs/www --password-file=/etc/rsync.pas
向SERVER端上传文件
/usr/local/rsync/bin/rsync -vzrtopg --progress --password-file=/root/rsync.pas /data0/htdocs/www tony@192.168.10.220::www
9)如果有比较复杂的工作,利用一些常见的脚本语言可以有帮助。比如:
vi /usr/local/bin/rsync.sh
#!/bin/sh
DATE=`date +%w`
/usr/local/rsync/bin/rsync -vzrtopg --progress --delete tony@192.168.10.220::www /data0/htdocs/www --password-file=/etc/rsync.pas >
/var/log/rsync.$DATE
修改/etc/crontab做好定时
比如:
echo “15 4 * * 6 root rsync.sh”>>/etc/crontab
10)测试过程可能遇到的问题:
安装好rsync后,执行/usr/local/rsync/bin/rsync --daemon启动rsync时报错:
rsync: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
解决办法:在/etc/ld.so.conf中加一行/usr/local/lib,运行ldconfig。再运行/usr/local/rsync/bin/rsync --daemon,就可以了。报错的原因可能之前更新过iconv库.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ydt619/archive/2010/11/09/5997606.aspx
可以镜像保存整个目录树和文件系统。
可以很容易做到保持原来文件的权限、时间、软硬链接等等。
无须特殊权限即可安装。
优化的流程,文件传输效率高。
可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜象。
1)Centos默认会自带Rsync,为了方便使用,建议先卸载掉
rpm -qa |grep "rsync" 查看是否带有rpm安装的rsync
rpm -e rsync-x.x.x 如果有就卸载掉
2)下载安装Rsync最新稳定版
wget http://rsync.samba.org/ftp/rsync/rsync-3.0.7.tar.gz
tar zxvf rsync-3.0.7.tar.gz
cd rsync-3.0.7
./configure --prefix=/usr/local/rsync
make
make install
说明一点,客户机和服务器都要安装rsync。客户机以客户端方式运行rsync,服务器端以服务器方式运行rsync,它监听873端口。
3) 设定 /etc/xinetd.d/rsync, 如下:
# default: off
# description: The rsync server is a good addition to am ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
然后执行chkconfig rsync on 使上述设定生效.
主要是要打开 rsync 這个 daemon, 一旦有 rsync client 要连接时, xinetd 会把它转介給 rsyncd (跑 port 873).
4)服务器端手动设置配置文件/etc/rsyncd.conf
vi /etc/rsyncd.conf
插入以下内容,如果之后调试遇到错误,建议把注释都去掉,以免造成不必要的错误
view plaincopy to clipboardprint?
uid = root
gid = root
use chroot = no
max connections = 4
strict modes =yes
port = 873
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[www] # 这里是认证的模块名,在client端需要指定
path = /data0/htdocs/www/ # 需要做镜像的目录
comment = This is a test
ignore errors
read only = yes
list = no
# 认证的用户名,如果没有这行,则表明是匿名
auth users = tony
secrets file = /etc/rsync.pas
hosts allow = 192.168.10.225,10.10.10.10
hosts deny = 0.0.0.0/0
#transfer logging = yes
uid = root
gid = root
use chroot = no
max connections = 4
strict modes =yes
port = 873
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[www] # 这里是认证的模块名,在client端需要指定
path = /data0/htdocs/www/ # 需要做镜像的目录
comment = This is a test
ignore errors
read only = yes
list = no
# 认证的用户名,如果没有这行,则表明是匿名
auth users = tony
secrets file = /etc/rsync.pas
hosts allow = 192.168.10.225,10.10.10.10
hosts deny = 0.0.0.0/0
#transfer logging = yes
5)设置密码文件
在服务器端:
echo "tony:111111" >> /etc/rsync.pas 注意格式,以及用户名要与配置文件一致
安全起见,设置密码文件的拥有者为root,权限为只读
chown root:root rsync.pas
chmod 600 /etc/rsync.pas
在客户端:
echo "111111" >> /etc/rsync.pas 注意格式,以及密码要与服务器端一致
安全起见,设置密码文件的拥有者为root,权限为只读
chown root:root rsync.pas
chmod 600 /etc/rsync.pas
service xinetd restart,使配置生效,如果没有xinetd,需求再安装一下 yum install xinetd
6)客户端服务器都启动rsync
/usr/local/bin/rsync --daemon
或者xinetd进程启动 /etc/rc.d/init.d/xinetd reload
可以把该启动命令加入/etc/rc.local
在服务器端验证启动是否成功:
netstat -na|grep 873
7)打开iptables防火墙:
vi /etc/sysconfig/iptables
加入-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
service iptables restart
8)从客户端进行测试:
从服务器端取文件
/usr/local/rsync/bin/rsync -vzrtopg --progress --delete tony@192.168.10.220::www /data0/htdocs/www --password-file=/etc/rsync.pas
向SERVER端上传文件
/usr/local/rsync/bin/rsync -vzrtopg --progress --password-file=/root/rsync.pas /data0/htdocs/www tony@192.168.10.220::www
9)如果有比较复杂的工作,利用一些常见的脚本语言可以有帮助。比如:
vi /usr/local/bin/rsync.sh
#!/bin/sh
DATE=`date +%w`
/usr/local/rsync/bin/rsync -vzrtopg --progress --delete tony@192.168.10.220::www /data0/htdocs/www --password-file=/etc/rsync.pas >
/var/log/rsync.$DATE
修改/etc/crontab做好定时
比如:
echo “15 4 * * 6 root rsync.sh”>>/etc/crontab
10)测试过程可能遇到的问题:
安装好rsync后,执行/usr/local/rsync/bin/rsync --daemon启动rsync时报错:
rsync: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
解决办法:在/etc/ld.so.conf中加一行/usr/local/lib,运行ldconfig。再运行/usr/local/rsync/bin/rsync --daemon,就可以了。报错的原因可能之前更新过iconv库.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ydt619/archive/2010/11/09/5997606.aspx
相关文章推荐
- 转:rsync传输性能测试总结及使用技巧
- MySQL数据库主从同步安装与配置总结<ZHUAN>
- windows下rsync的安装配置【数据同步】
- rsync同步的实现及其简单源码包的编译安装
- MySQL数据库主从同步安装与配置总结
- 麒麟开源堡垒机安装部署测试及优缺点总结
- inotify-tools+rsync实时同步文件安装和配置
- CDH集群安装&测试总结
- 配置rsync 同步数据 rpm包安装rsync及配置
- centos6.0安装rsync远程数据同步工具总结
- 性能测试工具Locust基础安装教程与学习总结
- 总结之:CentOS 6.5 rsync+inotify实现数据实时同步备份
- rsync自动同步软件安装和使用
- oracle 11.2.0.4 ogg for centos6.8安装及数据半同步测试
- MySQL数据库主从同步安装与配置总结
- LINUX环境下SVN安装与配置(利用钩子同步开发环境与测试环境)
- 搭建appium+python 测试架构时,对安装Python依赖的一些总结
- 基于iSCSI的SQL Server 2012群集测试(三)--SQL Server 2012群集安装总结
- rsync+sersync 实时同步安装配置
- rsync安装配置及故障解决完全教程[window, 文件同步]