发布时间:2014-09-05 17:03:28作者:知识屋
公司要做团购项目,发布了一个团购网站,我使用CentOS 5.5系统,基于LNMP配置的环境。考虑要同步服务器上的数据,于是便想到了Rsync服务。以前一直在使用Cwrsync,是Windows环境的。第一次在Linux系统下配置该服务,原本认为很简单,在实际操作过程中发现了若干问题,郁闷了几天,最终完全配置成功。整理如下。
服务器端的配置
下面为安装步骤:
一、服务器端配置:
1、安装xinetd,并修改rsync相关配置
# yum -y install xinetd
# vi /etc/xinetd.d/rsync
如下代码:
# default: off
# description: The rsync server is a good addition to an ftp server, as it /
# allows crc checksumming etc.
service rsync
{
disable = yes
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
将disable = yes改成disable = no
然后重启xinetd
# /etc/init.d/xinetd restart
[
注:如果服务器上装有防火墙,需要打开端口,默认端口是873
# telnet 127.0.0.1 873
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
# iptables -A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 873 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp --dport 873 -j DROP
]
2、编写rsync.conf配置文件
# vi /etc/rsyncd.conf
内容如下:
port=873
uid = nobody
gid = nobody
user chroot = no
max connections = 200
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[backup]
path = /home/www
ignore errors
read only = no
list = no
#hosts allow = 192.168.1.0/255.255.255.0
auth users = root
secrets file = /etc/rsyncd.secrets
注释:
port #开放端口
uid = nobody #进行备份的用户UID,nobody为任何用户
gid = nobody #进行备份的组GID,nobody为任意组
use chroot = no #如果"use chroot"指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true。但是这个一般不需要,所以我选择no或false
list = no #不允许列清单
max connections = 200 #最大连接数
timeout = 600 #覆盖客户指定的IP超时时间,也就是说rsync服务器不会永远等待一个崩溃的客户端。
pidfile = /var/run/rsyncd.pid #pid文件的存放位置
lock file = /var/run/rsync.lock #锁文件的存放位置
log file = /var/log/rsyncd.log #日志文件的存放位置
[backup] #这里是认证模块名,即跟samba语法一样,是对外公布的名字
path = /home/www #这里是参与同步的目录
ignore errors #可以忽略一些无关的IO错误
read only = no #允许可读可写
list = no #不允许列清单
hosts allow = 192.168.1.0/255.255.255.0 #这里跟samba的语法是一样的,只允许192.168.1.0/24的网段进行同步,拒绝其它一切IP
auth users = admin #认证的用户名
secrets file = /etc/rsyncd.secrets #密码文件存放地址
注意:对于这个地方的配置文件,虽然解释的很清楚,可是一些朋友始终还会在这里出错,这里我提亮点易错点:
[backup]是认证模块名和 path = /var/www 是参与同步的目录
这里的path 大家要记好了,这里不要随便的一设置就直接完事,要知道这里是认证模块的,以后从客户机备份的数据会存储在这里。
3、编写用户密码文件
# vi /etc/rsyncd.secrets
root:1234789 #用户名:密
4、给予只读权限
# chown root:root /etc/rsyncd.secrets
# chmod 600 /etc/rsyncd.secrets
5、创建目录并修改所有者
# mkdir /home/www/
# chown -R nobody:nobody /home/www
6、启动服务
# rsync --daemon
7、加入开机自启动
# echo "rsync --daemon" >> /etc/rc.local
二、Linux客户端进行同步
1、客户端默认好像已经装了rsync,没有的话装下:
# yum -y install rsync
2、创建密码文件
# vi /etc/rsyncd.passwd
文件内容如下(只包含密码部分):
123456789
3、执行异步同步操作:
# /usr/bin/rsync -avz --progress --password-file=/etc/rsyncd.passwd root@192.168.1.1::backup /home/www
本文出自 “梦开始的地方” 博客
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能