斑竹网络专注为中小企业客户提供以管理服务为核心的IT全方位服务 https://www.sysadm.cn
分类: LINUX
2013-12-23 11:26:13
rsync同步配置
(整理时间:2010-6-3)
(环境:redhat as 4)
一、 安装配置rsync服务器
1、安装rsync软件
rpm -ihv /home/wayne/rsync-2.6.3-1.i386.rpm
2、配置rsync服务端
a. 创建/etc/rsyncd.conf配置文件,内容如下:
uid = www //指定文件传输过程中的用户身份
gid = www //指定文件传输过程中的组身份
use chroot = no //是否启动目录chroot限制
max connections = 5 //指定允许的最大并发客户端连接数
port = 873 //指定服务监听的端口,若使用默认的873端口,此行可省略
address = 192.168.2.7 //指定服务监听的ip地址,默认为0.0.0.0。使用xinetd方式启动服务时此行被忽略
log file = /jongo/logs/rsyncd.log //指定使用独立的日志文件的位置
pid file = /jongo/logs/syncd.pid //保存pid到指定文件,以便于使用脚本终止进程
hosts allow = 192.168.2.0/24 //此行可用于设置允许的客户端范围
[17buy_application] //设置一个名为17buy_applicatio的备份目录区段(模块),名称可自定义
path = /jongo/17buy //指定需要被用于远程备份的目录
comment = Whole 17buy application //注释信息
read only = yes //该目录设置为只读,即至允许客户端下行同步,不允许上传。若需要进行上行还原数据,可以改为no
dont compress = *.gz *.tgz *.zip *.z *.bz2 *.tbz //对指定格式的文件不再进行压缩
auth users = 17buybackup //指定允许远程同步此目录的用户名。若使用匿名方式,此行和下行可以去掉
secrets file = /etc/rsyncd.users //指定用户名:密码数据库文件位置
b.创建/etc/rsyncd.users 文件
echo '17buybackup:17buy$%^' >>/etc/rsyncd.users
chmod 600 /etc/rsyncd.users
注意:
这个文件的权限需要600的,否则同步的时候会报错。
c. 创建或编辑/etc/xinetd.d/rsync文件
创建或编辑/etc/xinetd.d/rsync文件,确认为如下内容:
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
d. 重启xinetd服务
service xinetd restart
e. 防火墙设置
如果服务器启动了防火墙,则需要将对应的873端口的tcp协议和udp协议打
开
二、 安装配置rsync服务器
编辑一个shell脚本用来定时同步指定的文件
vi 17buy_rsync.sh
#!/bin/sh
. /root/.bash_profile
export RSYNC_PASSWORD='17buy$%^'
/usr/bin/rsync -aHvz --delete --checksum buybackup@192.168.2.7::17buy_application /jongo/17buy_rsync/application/ >/root/shell/rsync
.log
/usr/bin/rsync -aHvz --delete --checksum buybackup@192.168.2.7::17buy_resin_conf /jongo/17buy_rsync/resin_conf/ >>/root/shell/rsync.
log
/usr/bin/rsync -aHvz --delete --checksum buybackup@192.168.2.7::17buy_nginx_conf /jongo/17buy_rsync/nginx_conf/ >>/root/shell/rsync.
log
. /root/shell/contact_config.sh
for email in $contact_email
do
mail -s "17buy rsync result" $email
done
~