Chinaunix首页 | 论坛 | 博客
  • 博客访问: 442230
  • 博文数量: 56
  • 博客积分: 2705
  • 博客等级: 少校
  • 技术积分: 740
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-21 13:52
文章分类

全部博文(56)

文章存档

2016年(1)

2014年(1)

2013年(5)

2012年(4)

2011年(8)

2010年(10)

2009年(15)

2008年(12)

分类: LINUX

2011-04-07 17:03:30

rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了--remote sync。它的特性如下:
可以镜像保存整个目录树和文件系统。
可以很容易做到保持原来文件的权限、时间、软硬链接等等。
无须特殊权限即可安装。
优化的流程,文件传输效率高。
可以使用rcpssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜象。
step
1.从原始网站下载:[url][/url]
2.[root@localhost bin]#./configure
[root@localhost bin]#make
[root@localhost bin]#make install
说明一点,客户机和服务器都要安装rsync。客户机以客户端方式运行rsync,服务器端以服务器方式运行rsync,它监听873端口。
3.创建并配置/etc/rsyncd.conf
uid=work
     gid=work
     max connections=50
     use chroot=no
     log file=/var/log/rsyncd.log
     pid file=/var/run/rsyncd.pid
     lock file=/var/run/rsyncd.lock
     secrets file=/etc/rsync.server
[image]
     path = /var/www/html/searchportal/Common/upload_image
     comment = upload image
     ignore errors
     read only = yes
     list = yes
     auth users = work
     secrets file = /etc/rsync.server
[mysqldata]
     path = /var/lib/mysql/ppportal/
     comment = mysqldatabackup
     ignore errors
     read only = yes
     list = yes
     auth users = work
     secrets file = /etc/rsync.server
4.创建用户work及权限
 echo 'work:1234'> /etc/rsync.server
      chmod 400 /etc/rsync.server
5.运行rsync
/usr/local/bin/rsync --daemon
验证启动是否成功:
netstat -na|grep 873
6.在客户端服务器同步服务器上的文件
rsync -vzrtopg --delete --progress rsync@10.4.5.161::web /china/
或加上--password-file=/etc/rsyncd.secrets选项
上面的命令把10.4.5.161服务器上的web模块中的目录的文件传送到本机/china目录中,并删除本机/china目录中在161服务器web模块指定目录中没有的文件。以使两台计算机的目录文件同步。
 
 
客户端同步:
 rsync -参数 用户名@同步服务器的IP::rsyncd.conf中那个方括号里的内容 本地存放路径 如:
  rsync -avzP nemo@192.168.10.1::nemo /backup
  说明:
  -a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
  -z 传输时压缩;
  -P 传输进度;
  -v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;
 
问题:当在同步时候出现下面的情况:
rsync: link_stat "." (in roke) failed: Permission denied (13)
出现这个问题是因为权限不够,我们可以把模块配置的目录权限设置为755,这样我们就可以来同步,你可以试试看!
阅读(1445) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~