Ubuntu/FreeBSD下Rsync同步镜像服务器配置教程

in js框架
主服务器:192.168.1.2 (Linux ubuntu 2.6.27-7-server)
从服务器:192.168.1.3 (FreeBSD 8.0-RELEASE-p2)
========== 1> 在两台主机上分别安装rsync ================
Ubuntu安装如下:
roger#apt-get 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文件排除在外;
roger#cd /etc
roger#mkdir rsyncd
roger#cd rsyncd
roger#vim rsyncd.conf
写入(保证文件中每行没有空格):
下载: http://blog.eetag.com/wp-content/uploads/2010/04/rsync.conf
pid file = /var/run/rsyncd.pid
port = 873
address = 192.168.1.2
#uid = nobody
#gid = nobody
uid = root
gid = root
use chroot = yes
read only = yes
#limit access to private LANs
#设置可访问的主机:如果多个ip则用空格隔开:192.168.1.3 192.168.1.4 192.168.1.5或者设置区间 192.168.1.3/5
hosts allow=192.168.1.3
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 = /data/www/yy
list=yes
ignore errors
#auth users是必须在服务器上存在的真实的系统用户,如果你想用多个用户,那就以,号隔开;比如 auth users = roger,linuxsir
auth users = roger
#从服务器访问需要的密码文件
secrets file = /etc/rsyncd/rsyncd.secrets
comment = linuxsir tmp
#设置不同步的目录或文件用空格隔开
exclude = test/ test.php
b> 创建修改密码文件rsyncd.secrets
roger#cd /etc/rsyncd
roger#vim rsyncd.secrets
写入:
roger:1q2w3e
退出保存。
修改权限密码文件的权限:
roger#chmod 600 rsyncd.secrets
c> 创建修改rsync.motd文件
rsyncd.motd是定义rysnc 服务器信息的,也就是用户登录信息。比如让用户知道这个服务器是谁提供的等;类似ftp服务器登录时,我们所看到的 linuxsir.org ftp ……。 当然这在全局定义变量时,并不是必须的,你可以用#号注掉,或删除;如:
roger#vim rsyncd.motd
写入:
welcome!
============================== 3> 启动rsync服务==============================
roger#/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
============================== 4> 主服务器已经配置好rsync!下面我们设置从服务器=========================
从服务器只需安装rsync即可,然后运行:
roger#/usr/local/bin/rsync -vzrtopg --progress ubuntu@192.168.1.2::linuxsirhome /tmp
#因为没有指定密码文件,所以需要手动输入主服务器上的设定的密码
输入密码:1q2w3e
roger是指定密码文件中的用户名
::linuxsirhome 表示在rsyncd.conf中设置的模块名
/tmp是从服务器目录(192.168.1.3/tmp)
到此为止,rsync的两台主机之间(192.168.1.2/tmp和192.168.1.3/tmp)的rsync同步已经配置完毕,只要在从服务器执行上述命令输入密码即可同步。
============================== 5> 设置主从服务器定定时自动同步==============================
自动同步要用到从服务器上的cron服务,关于cron的介绍请参考:linux定时执行系统
我们在从服务器即192.168.1.3的/tmp目录下创建两个rsync.sh文件和rsync.secrets文件。
rsync.sh文件是cron要执行的脚本文件。
rsync.secrets是保存主服务器密码的文件。
a> 创建rsync.sh文件
roger#cd /tmp
roger#vim rsync.sh
写入:
/usr/local/bin/rsync -vzrtopg --progress ubuntu@192.168.1.2::linuxsirhome /tmp --password-file=/tmp/rsync.secrets
退出保存。
b> 创建rsync.secrets密码文件
roger#vim rsync.secrets
写入:
1q2w3e
退出保存并修改权限:
roger#chmod 600 rsync.secrets
c> 配置cron服务
roger#crontab -e
添加一行:
*/1 * * * * /web/www/hiido/yy/rsync.sh //即每分钟同步一次
退出保存。
设置完毕,以后每隔一分钟即会把主服务器/tmp目录更新至从服务器/tmp。

主服务器:192.168.1.2 (Linux ubuntu 2.6.27-7-server)从服务器:192.168.1.3 (FreeBSD 8.0-RELEASE-p2)
============================== 1> 在两台主机上分别安装rsync ==============================
Ubuntu安装如下:
roger#apt-get 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.confrsyncd.conf 是rsync服务器主要配置文件,我们来个简单的示例;比如我们要备份服务器上的 /tmp/目录 ,在/tmp/ 中,我想把test目录和test.php文件排除在外;
roger#cd /etc
roger#mkdir rsyncd
roger#cd rsyncd
roger#vim rsyncd.conf

写入(保证文件中每行没有空格):
下载: http://blog.eetag.com/wp-content/uploads/2010/04/rsync.conf
pid file = /var/run/rsyncd.pid
port = 873
address = 192.168.1.2
#uid = nobody
#gid = nobody
uid = root
gid = root

use chroot = yes
read only = yes

#limit access to private LANs
#设置可访问的主机:如果多个ip则用空格隔开:192.168.1.3 192.168.1.4 192.168.1.5或者设置区间 192.168.1.3/5
hosts allow=192.168.1.3
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 = /data/www/yy
list=yes
ignore errors
#auth users是必须在服务器上存在的真实的系统用户,如果你想用多个用户,那就以,号隔开;比如 auth users = roger,linuxsir
auth users = roger
#从服务器访问需要的密码文件
secrets file = /etc/rsyncd/rsyncd.secrets
comment = linuxsir tmp
#设置不同步的目录或文件用空格隔开
exclude = test/ test.php

b> 创建修改密码文件rsyncd.secrets
roger#cd /etc/rsyncd
roger#vim rsyncd.secrets

写入:
roger:1q2w3e

退出保存。修改权限密码文件的权限:
roger#chmod 600 rsyncd.secrets

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

写入:
welcome!

============================== 3> 启动rsync服务==============================
roger#/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf

============================== 4> 主服务器已经配置好rsync!下面我们设置从服务器=========================
从服务器只需安装rsync即可,然后运行:
roger#/usr/local/bin/rsync -vzrtopg --progress ubuntu@192.168.1.2::linuxsirhome /tmp

#因为没有指定密码文件,所以需要手动输入主服务器上的设定的密码输入密码:1q2w3eroger是指定密码文件中的用户名::linuxsirhome 表示在rsyncd.conf中设置的模块名/tmp是从服务器目录(192.168.1.3/tmp)
到此为止,rsync的两台主机之间(192.168.1.2/tmp和192.168.1.3/tmp)的rsync同步已经配置完毕,只要在从服务器执行上述命令输入密码即可同步。
============================== 5> 设置主从服务器定定时自动同步==============================
自动同步要用到从服务器上的cron服务,关于cron的介绍请参考:linux定时执行系统我们在从服务器即192.168.1.3的/tmp目录下创建两个rsync.sh文件和rsync.secrets文件。rsync.sh文件是cron要执行的脚本文件。rsync.secrets是保存主服务器密码的文件。
a> 创建rsync.sh文件
roger#cd /tmp
roger#vim rsync.sh

写入:
/usr/local/bin/rsync -vzrtopg --progress ubuntu@192.168.1.2::linuxsirhome /tmp --password-file=/tmp/rsync.secrets

退出保存。
b> 创建rsync.secrets密码文件
roger#vim rsync.secrets

写入:
1q2w3e

退出保存并修改权限:
roger#chmod 600 rsync.secrets

c> 配置cron服务
roger#crontab -e

添加一行:*/1 * * * * /web/www/hiido/yy/rsync.sh //即每分钟同步一次退出保存。
设置完毕,以后每隔一分钟即会把主服务器/tmp目录更新至从服务器/tmp。

0 Comments