考虑到服务器数据的安全,我考虑增加一台备份服务器,通过数据同步,达到较好的冗余。
  linux下有非常好的一个命令rsync可以实现差异备份,下面就说说它的用法:
ubuntu缺省安装的安装中,rsync服务是没有开启的。需要做3步:
1、修改/etc/default/rsync,让rsync服务在开机的时候启动。
$ sudo vi /etc/default/rsync
将RSYNC_ENABLE=false改为RSYNC_ENABLE=true

2、创建一个rsyncd.conf,缺省安装中是没有这个文件的。
$ sudo vi /etc/rsyncd.conf
输入以下几行:
uid=nobody
gid=nobody
max connections=3
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.pwd

3、启动rsync服务。
$ /etc/init.d/rsync start

基本命令:
rsync -avz ./libserver1.0.1 cxf@202.117.15.144:/home/cxf/backup 目录上传
rsync -avz cxf@202.117.15.144:/home/cxf/libserver ./backup 目录下载
rsync -avz ./libserver1.0.1./* cxf@202.117.15.144:/home/cxf/backup 文件上传
rsync -avz cxf@202.117.15.144:/home/cxf/libserver/* ./backup 文件下载

一、通过rsh或ssh命令
  在没有建立rsync服务器的情况下,我们可以利用rsync命令直接进行快速的差异备份:
CODE:
命令格式:
#rsync [option] 源路径 目标路径
其中:
[option]:
a:使用archive模式,等于-rlptgoD,即保持原有的文件权限
z:表示传输时压缩数据
v:显示到屏幕中
e:使用远程shell程序(可以使用rsh或ssh)
--delete:精确保存副本,源主机删除的文件,目标主机也会同步删除
--include=PATTERN:不排除符合PATTERN的文件或目录
--exclude=PATTERN:排除所有符合PATTERN的文件或目录
--password-file:指定用于rsync服务器的用户验证密码

源路径和目标路径可以使用如下格式:
rsync://[USER@]Host[:Port]/Path <--rsync服务器路径
[USER@]Host::Path <--rsync服务器的另一种表示形式
[USER@]Host:Path <--远程路径
LocalPath <--本地路径

※需要注意的是,来源或目的路径最少要有一个是本地路径,如果忽略本地路径,则只会列出远端的文件列表。
例子:

CODE:
#rsync -ave ssh test:/home/ftp/pub/ /home/ftp/pub/

把源路径中远端test机器上的/home/ftp/pub/目录中的内容,通过rsync同步到本地的/home/ftp/pub/目录下。
◎小心源路径结尾时候的/号,后缀/通知rsync复制该目录的内容,但不复制目录本身。例如:

CODE:
#rsync -ave ssh test:/home/ftp/pub /home/ftp/
则会把pub目录整个同步到本地/home/ftp/路径中

CODE:
#rsync -azv --delete rsync://linuxing@192.168.1.100/blog /var/www/html/
  通过linuxing登陆到192.168.1.100中,同步rsync服务器的blog项到本地的/var/www/html/,并删除本地上源路径中不存在的文件或目录。
※千万要注意--delete参数,在使用此参数的时候,建议用绝对路径指定本地目录,防止清空当前目录。
二、建立rsync服务器
  当服务器没有开通ssh,或备份方没有ssh权限的时候,我们可以通过建立rsync服务器,进行匿名的数据同步。
要使用rsync服务,需要建立服务端和客户端:
1、服务端
主配置文件:
CODE:
#vi /etc/rsyncd.conf
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[test] #rsync区段的设定名称
path = /var/www/html/test #需要同步的数据存放路径
comment = test folder #注释
uid = apache #采用什么身份进行文件读取
gid = apache #同上,必须是有读取path权限的用户、组
ignore errors #忽略错误
read only = yes #只读
list = no #不能列表
auth users = linuxing #连接rsync服务的帐号
secrets file = /etc/rsyncd.secrets #指定存放帐号密码的位置
帐号密码文件:
CODE:
#vi /etc/rsyncd.secrets
#格式:帐号:密码 (每行一组,帐号和密码用:号分开)
linuxing:backup
保存后,需要保证用户是root,权限是600
CODE:
#chown root:root /etc/rsyncd.secrets
#chmod 600 /etc/rsyncd.secrets
启动服务:
#rsync --daemon
保证开机自动启动:
修改/etc/xinetd.d/rsync文件,把其中的disable=yes改为disable=no

CODE:
#sed -i -e "/disable/{ s/yes/no/ }" /etc/xinetd.d/rsync
#service xinetd.d restart

2、客户端
使用用法一中涉及到rsync://的方法即可。
如果rsync服务器需要密码验证,可以增加--password-file参数:

CODE:
#rsync -azv --delete rsync://linuxing@192.168.1.100/test /var/www/html --password-file=/etc/test
#vi /etc/test
#指定访问密码
bakcup
#chmod 600 /etc/test
3、定时
另外,由于rsync客户端没有定时功能,我们可以通过在crontab中增加计划任务实现定时的同步,如:(不要使用-v参数,防止刷屏)
CODE:
#crontab -e
0 22 * * 1-5 /usr/bin/rsync -az --delete rsync://linuxing@192.168.1.100/test /var/www/html --password-file=/etc/test
#指定星期一到五,每晚十点整进行同步
三、总结
  使用rsync的优点:可通过ssh进行网络加密传输,也可以利用ssh客户端密钥建立信任关系。当在两台计算机之间保持大型、复杂目录结构的同步时候,比tar或wget等方式都要快。而且可以做到精确同步。

四、附录
  如果是通过编译安装的rsync(如FreeBSD),路径有点不同:
  服务器的配置文件在:/usr/local/etc/rsyncd.conf
  启动文件:/usr/local/etc/rc.d/rsyncd.sh
  命令文件:/usr/local/bin/rsync
  系统启动托管:/etc/rc.conf(增加rsyncd_enable="YES")

http://blog.csdn.net/adcxf/article/details/3975119

rsync使用指南的更多相关文章

  1. Rsync数据同步应用指南

    1.软件简介 Rsync 是一个本地或远程数据同步工具,基于RSync算法,这个算法是澳大利亚人Andrew Tridgell发明的:可通过 LAN/WAN 快速同步多台主机间的文件.Rsync 本来 ...

  2. rsync实时备份备份服务搭建和使用指南

    一.Rsync企业工作场景说明: 1.利用定时任务+rsync方式实现数据同步 对于网站内部技术人员创建的数据,可以采取定时任务的方式 2.利用实时任务+rsync方式实现数据同步 对于网站外部访问用 ...

  3. rsync数据同步工具应用指南

    Rsync (Remote synchonization)  rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输.rsync中一项与其他大部分类 ...

  4. lsyncd实时同步搭建指南——取代rsync+inotify

    1. 几大实时同步工具比较 1.1 inotify + rsync 最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是inotify + rsync,但随着文件数量的增大到100W+,目录下的 ...

  5. Rsync+sersync 数据同步指南

    (1):sersync 可以记录下被监听目录中发生变化的(包括增加.删除.修改)具体某一个文件或 某一个目录的名字: (2):rsync 在同步的时候,只同步发生变化的这个文件或者这个目录(每次发生变 ...

  6. Rsync+inotify 数据同步应用指南

    Rsync+Inotify-tools (1):Inotify-tools 只能记录下被监听的目录发生了变化(包括增加.删除.修改),并没有 把具体是哪个文件或者哪个目录发生了变化记录下来: (2): ...

  7. rsync与inotify 数据同步

    发布:thebaby   来源:脚本学堂     [大 中 小] 本文介绍下,在linux系统中,使用rsync与inotify实现数据同步的一个实例,有研究文件同步的朋友可以作个参考.本文转自:ht ...

  8. Buildroot 龙芯1C支持指南

    本文转载自:https://github.com/pengphei/smartloong-sphinx/blob/master/source/cn/loongson1c_buildroot_guide ...

  9. Lsyncd实时同步搭建指南

    linux文件实时同步: inotify+rsync.sersync.lsyncd工具比较 一.inotify + rsync 最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是inotify ...

随机推荐

  1. [转]Centos6.5使用yum安装mysql—配置MySQL允许远程登录

    一.mysql安装 第1步.yum安装mysql[root@stonex ~]#  yum -y install mysql-server安装结果:Installed:    mysql-server ...

  2. IOS_Note

    关键字:可以搜索这些关键字找到具体内容 退回输入键盘.CGRect.CGPoint & CGSize.设置透明度.设置背景色.自定义颜色. 竖屏.横屏.状态栏高  (显示时间和网络状态). 导 ...

  3. JVM调优总结(五)-分代垃圾回收详述1

    为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的.因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率. 在Java程序运行的过程中,会产生大量的对象, ...

  4. Linux less命令

    less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性.在 more 的时候,我们并没有办法向前面翻 ...

  5. IOS7上呈现IOS6的水滴刷新效果

    IOS7上呈现IOS6的水滴刷新效果    到了IOS7 发现自带的刷新 不再是 IOS6自带的水滴效果了 你是否怀念那IOS6的效果呢? 哈哈,于是收集各方资料,整理编写一个属于自己的水滴刷新效果 ...

  6. 用 Eclipse 下载 Git 仓库中代码

    1. 安装 Git 插件 可以按照 通过Eclipse从subversion站点下载源码 中的方法安装,也可以在 Eclipse Marketplace 中搜索 EGit 进行安装(Help --&g ...

  7. 基于visual Studio2013解决面试题之1503最大公约数最小公倍数

     题目

  8. HTML文档类型DTD与浏览器怪异模式

    虽然在兼容IE6时候经常会注意到两个模式的区别,但是系统的理解起来,还没有认真总结过.看了一些网上的资料.结合自己的理解汇总了一下,放在这里备忘并分享给大家. 浏览器从服务端获取网页后会根据文档的DO ...

  9. 代码格式化工具Astyle配置

    Astyle是一个很好的代码格式化工具,其他不多说,下面介绍一下我在VS 2010的配置 1. http://sourceforge.net/projects/astyle,这是该插件的网站,下载后把 ...

  10. 1.1.3-学习Opencv与MFC混合编程之---画图工具 通过对话框进行工具的参数设置 画曲线 绘图校正

    源代码:http://download.csdn.net/detail/nuptboyzhb/3961688 l 对话框 1.“插入”->“资源”->“对话框” 2.对话框属性如下: 双击 ...