linux下Rsync同步镜像服务器配置教程

linux下Rsync同步镜像服务器配置教程

Filed under: 东写西读 |  

主服务器:192.168.0.220 (CentOS 4.4)
从服务器:192.168.0.248 (CentOS 5)
============================== 1> 在两台主机上分别安装rsync ======================

默认一般都是安装了的

1
2
[root@office ~]# rpm -qa|grep rsync
rsync-2.6.3-1

如果没有安装,使用yum install rsync来进行安装即可; 正常情况很快就安装完毕,rsync 服务器架设比较简单,可我们安装好rsync后,并没有发现配置文件以及rsync服务器启动程序,因为每个管理员可能对rsync 用途不一样,所以一般的发行版只是安装好软件就完事了,让管理员来根据自己的用途和方向来自己架设rsync服务器。

============================== 2> rsync服务器的配置 ==============================

在/etc目录下创建一个rsyncd的目录,我们用来存放rsyncd.conf,rsyncd.secrets和rsyncd.motd文件; rsyncd.conf 是rsync服务器的主配置文件; rsyncd.secrets是用户密码文件; rsyncd.motd配置一些服务欢迎及说明信息;

a>创建修改 rsyncd.conf

rsyncd.conf 是rsync服务器主要配置文件,我们来个简单的示例;比如我们要备份服务器上的 /tmp/目录 ,在/tmp/ 中,我想把test目录和test.php文件排除在外;

1
2
3
4
[root@office ~]# cd /etc
[root@office ~]# mkdir rsyncd
[root@office ~]# cd rsyncd
[root@office ~]# vi rsyncd.conf

写入(保证文件中每行没有空格):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
pid file = /var/run/rsyncd.pid
port = 873
address = 192.168.0.220
#uid = nobody
#gid = nobody
uid = root
gid = root
 
use chroot = yes
read only = yes
 
#limit access to private LANs
#设置可访问的主机:如果多个ip则用空格隔开:192.168.0.3 192.168.0.4 192.168.0.5或者设置区间 192.168.0.3/5
hosts allow=192.168.0.0/24
hosts deny=*
 
max connections = 5
motd file = /etc/rsyncd/rsyncd.motd
 
#This will give you a separate log file
log file = /var/log/rsync.log
 
#This will log every file transferred - up to 85,000+ per user, per sync
transfer logging = yes
 
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
#方括号中设置模块名
[linuxsirhome]
#要同步服务器的目录路径
path = /backup
list=yes
ignore errors
#auth users是必须在服务器上存在的真实的系统用户,如果你想用多个用户,那就以,号隔开;比如 auth users = ljzhou,rsyncsir
auth users = ljzhou
#从服务器访问需要的密码文件
secrets file = /etc/rsyncd/rsyncd.secrets
comment = linuxsir tmp
#设置不同步的目录或文件用空格隔开
exclude = test/ test.php

b> 创建修改密码文件rsyncd.secrets

1
2
[root@office ~]# cd /etc/rsyncd
[root@office ~]# vi rsyncd.secrets

写入: ljzhou:123456 退出保存。修改权限密码文件的权限:

1
[root@office ~]# chmod 600 rsyncd.secrets

c> 创建修改rsync.motd文件

rsyncd.motd是定义rysnc 服务器信息的,也就是用户登录信息。比如让用户知道这个服务器是谁提供的等;类似ftp服务器登录时,我们所看到的 linuxsir.org ftp ……。 当然这在全局定义变量时,并不是必须的,你可以用#号注掉,或删除;如:

1
[root@office ~]# vi rsyncd.motd

写入: welcome!

============================== 3> 启动rsync服务==============================

1
[root@office ~]# /usr/bin/rsync --daemon  --config=/etc/rsyncd/rsyncd.conf
1
 

============================== 4> 主服务器已经配置好rsync!下面我们设置从服务器============

从服务器只需安装rsync即可,然后运行:

1
[root@devel ~]# /usr/bin/rsync -vzrtopg --progress ljzhou@192.168.0.220::linuxsirhome  /tmp

#因为没有指定密码文件,所以需要手动输入主服务器上的设定的密码输入密码:123456 ljzhou是指定密码文件中的用户名 ::linuxsirhome 表示在rsyncd.conf中设置的模块名 /tmp是从服务器目录(192.168.0.248/tmp) 到此为止,rsync的两台主机之间(192.168.0.220/tmp和192.168.0.248/tmp)的rsync同步已经配置完毕,只要在从服务器执行上述命令输入密码即可同步。

============================== 5> 设置主从服务器定定时自动同步==============================

自动同步要用到从服务器上的cron服务,关于cron的介绍请参考:linux定时执行系统我们在从服务器即192.168.0.248的/tmp目录下创建两个rsync.sh文件和rsync.secrets文件。 rsync.sh文件是cron要执行的脚本文件。 rsync.secrets是保存主服务器密码的文件。

a> 创建rsync.sh文件

1
2
[root@devel ~]# cd /tmp
[root@devel ~]# vi rsync.sh

写入: /usr/bin/rsync -vzrtopg –progress ljzhou@192.168.0.220::linuxsirhome /tmp –password-file=/tmp/rsync.secrets

退出保存。

b> 创建rsync.secrets密码文件

1
[root@devel ~]# vi rsync.secrets

写入: 123456

退出保存并修改权限:

1
[root@devel ~]# chmod 600 rsync.secrets

c> 配置cron服务

1
[root@devel ~]# crontab -e

添加一行: */1 * * * * /web/www/rsync.sh //即每分钟同步一次退出保存,rsync.sh 这个文件放置于一个妥善保存的地方,不要泄露密码。

设置完毕,以后每隔一分钟即会把主服务器/tmp目录更新至从服务器/tmp。


Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

If you want to leave a feedback to this post or to some other user´s comment, simply fill out the form below.

(required)

(required)