发新话题
打印

ubuntu下使用rsync来实现文件同步

ubuntu下使用rsync来实现文件同步

测试环境:ubuntu  

主服务器 192.168.1.101  
从服务器,做备份用 192.168.1.103
===================1 rsync的安装
sudo apt-get   install   rsync
rsync 服务器架设比较简单,可能我们安装好rsync后,并没有发现配置文件,以及rsync服
务器启动程序,因为每个管理员可能对rsync 用途不一样,所以一般的发行版只是安装好软
件就完事了,让管理员来根据自己的用途和方向来自己架设rsync服务器;


====================2 rsync服务器的配置文件rsyncd.conf
[root@linuxsir:~]#mkdir /etc/rsyncd   注:在/etc目录下创建一个rsyncd的目录,我们用
来存放rsyncd.conf 和rsyncd.secrets文件;
[root@linuxsir:~]#touch /etc/rsyncd/rsyncd.conf   注:创建rsyncd.conf ,这是rsync
服务器的配置文件;
[root@linuxsir:~]#touch /etc/rsyncd/rsyncd.secrets   注:创建rsyncd.secrets ,这是
用户密码文件;
[root@linuxsir:~]#chmod 600 /etc/rsyncd/rsyncd.secrets   注:为了密码的安全性,我
们把权限设为600;
[root@linuxsir:~]#ls -lh /etc/rsyncd/rsyncd.secrets
-rw------- 1 root root 14 2007-07-15 10:21 /etc/rsyncd/rsyncd.secrets
[root@linuxsir:~]#touch /etc/rsyncd/rsyncd.motd

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

#vim rsyncd.conf:
---------------------
pid file = /var/run/rsyncd.pid
port = 873
address = 192.168.1.101  
#uid = nobody
#gid = nobody
uid = root
gid = root
use chroot = yes  
read only = yes  

#limit access to private LANs
hosts allow=192.168.1.103/255.255.255.0 10.0.1.0/255.255.255.0  
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 = /tmp
list=yes
ignore errors
auth users = ubuntu //auth users是必须在服务器上存在的真实的系统用户,如果你想
用多个用户,那就以,号隔开;比如 auth users = beinan , linuxsir
secrets file = /etc/rsyncd/rsyncd.secrets  
comment = linuxsir tmp  
exclude = beinan/   samba/   

------------


#vim rsyncd.secrets   密码文件
-----------
ubuntu:222222

-----------

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


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

==============报错为 Failed to Create pid file /var/run/rsyncd.pid:file exists
解决方法:
#ps ax|grep rsync //查看进程id
3033 ?        S    0:00 /usr/bin/rsync --no-detach --daemon --config
/etc/rsyncd.conf
4360 pts/1 S+     0:00 tail -f rsync.log
4786 pts/0 D+     0:00 grep rsync

#kill 3033
==============


重启服务 #/usr/bin/rsync --daemon   --config=/etc/rsyncd/rsyncd.conf



=========================4 rsync 客户端同步数据
客户端只需要安装rsync即可,不需要特别配置

rsync -vzrtopg --delete --progress [email=ubuntu@192.168.1.101::linuxsirhome]ubuntu@192.168.1.101::linuxsirhome[/email] /tmp
输入密码:222222
ubuntu是指定密码文件中的用户名
::linuxsirhome 表示在rsyncd.conf中设置的模块名
/tmp是备份到本地的目录名
换个头像,看见广告就眼红,直接封ID。

TOP

发新话题