`
waiting
  • 浏览: 234839 次
  • 性别: Icon_minigender_1
  • 来自: cq
社区版块
存档分类
最新评论

rsync 简明教程

阅读更多

项目中需要用到 rsync 进行文档同步备份。看了下网上教程弄好了,不过觉得网上教程条理不清晰容易让初学者看得云里雾里,这里写个简明教程让人立马可以上手使用。

 

  1. rsync 简介

    用于服务器同步目录及文档,功能相当强大上。不过它是把一个文档划分成多个块进行扫描对比,所以可以进行差异同步,效率高速度也快。并且备份文档能保留源文档的权限、属主、属组、时间等属性。
    其工作方式分为命令行和服务模式两种。前者就和scp命令接近,后者和samba工作模式相似。
    假设服务器为192.168.0.1,其上的文件需要备份。 客户机为192.168.0.3,保存备份文档。两个机器系统皆为CentOS5。


  2. 命令行模式

    这种方式采用SSH方式进行工作,传输的口令及文档内容全部是加密数据。远程账号(下例中的mark)是远程服务器实体账户,口令也是此实体账户的系统口 令。

    注意都只有一个冒号:
    # rsync -avzP  mark@192.168.0.1:/var/samba /tmp
    注意 samba后面的斜杠
    # rsync -avzP  mark@192.168.0.1:/var/samba/ /tmp
    将会提示你输入口令

    第一条命令是把远程01主机 上 /var/samba 这个目录同步到本地  /tmp 目录下;
    第二条命令是把远程01主机上 /var/samba 目录下的内容 同步到本地 /tmp 目录下,就是说 /tmp 中不会同步有 samba 这个目录而是直接存放 远程 samba 下的内容。



  3. 服务模式

    此模式传输口令是加密信息,但传输的文档内容是非加密的。 和Samba工作模式相似,需要设置服务提供的“模块”——一个模块包含源路径、允许使用账户、权限等信息,在Samba中称为“服务”。比如,

    rsync.conf 写道
    [sambaFile]
        path = /var/samba
        list = yes
        ignore errors=yes
        read only = yes
        auth users = admin
        secrets file = /etc/rsync/rsync.secrets
        comment = samba
        #exclude =

    [files]
        path = /var/upload
        list = yes
        ignore errors=yes
        read only = yes
        auth users = mark
        secrets file = /etc/rsync/rsync.secrets
        comment = upload files
       
     

    path:需要被备份的目录路径
    list:  是否列表显示该模块。 列表命令 rsync --list-only  192.168.0.1::
    read only: yes表示客户端无法修改,只能下载(同步)文件
    auth users:允许使用此资源(指sambaFile这个小节模块)的用户。用逗号分隔多个用户。此用户必须为系统实 体账户,这一点和Samba是一致的。
    secrets file:此文件对应auth users中账户的口令。

    secrets file文件格式为:
    rsync.secrets 写道
    admin:pass-for-admin
    mark:pass-for-mark

     每个账户一行,以冒号分隔用户名和口令。 出于安全,账户口令一定不要和实体账户的口令一致! 这和samba的要求是相同的。 并且rsync.secrets文件必须是属于root且 600,否则同步时程序会提示出错。需要执行:

    # chown root:root /etc/rsync/rsync.secrets
    # chmod 600 /etc/rsync/rsync.secrets

    在服务端可以xinetd方式启动,也可以stand-alone方式启动

    # 直接执行方式
    # /usr/bin/rsync --daemon --config=/etc/rsync/rsync.conf ' 
    
    # 写入启动脚本以便虽系统启动而启动rsync服务,注意随系统不同 rc.local 的路径可能有差异
    # echo '/usr/bin/rsync --daemon --config=/etc/rsync/rsync.conf ' >> /etc/rc.local 
     


    然后在客户机上执行,

    # mkdir /home/backup/rsync
    # cd /home/backup/rsync
    # touch rsync.pas
    # chmod 600 rsync.pas
    # echo 'pass-for-admins' > rsync.pas 
    
    # 注意:上面一行写入的是你准备同步使用的账户的口令

    同步开始,
    # /usr/bin/rsync -azh --password-file=/home/backup/sync/rsync.pas \
      admins@192.68.0.1::sambaFile   /home/backup/sync/samba &
     


  4. 快速部署
    没时间研究的朋友可以直接下载附件文档,修改下内容即可投入使用

    • rsync.tar.gz 文档解压到服务器 /etc下,编辑 rsync.conf 中“模块”需要备份文档的路径。然后启动服务,命令为

      # tar -zxvf rsync.tar.gz -C /etc
      # ...do 编辑模块
      
      #  /usr/bin/rsync --daemon --config=/etc/rsync/rsync.conf 
       
    • rsync.cron.tar.gz 文档解压到客户机 /home/backup/rsync 下,然后开足马力拉文件吧。命令为


      # mkdir /home/backup/rsync -p
      # tar -xzvf rsync.cron.tar.gz -C /home/backup/rsync
      
      # 开工啦……
      # /home/backup/rsync/cron.rsync.sh

      如果需要每天凌晨00:30开始自动同步,则需要把脚本加入cron计划任务中


      # crontab -e
      # 把下面内容追加进去 ,注意没有前面那个 # 号哟
      # 30 0 * * * /home/backup/rsync/cron.rsync.sh  1> /dev/null 

       

    • 注意事项:
      rsync.conf 文件中 hosts allow/hosts deny 未做设置,所以任何机器都可以访问服务器rsync服务,这存在安全隐患。你应该自己修改合适的设置。
      uid/gid 都是使用 root 账户而非默认的 nobody,这是为了防止有些文件因为权限限制而在客户机上拉不不过来。


  5. 相关资料
    下面是一些关于rsync的文档资料,适合自己钻研:
    http://rsync.samba.org/ftp/rsync/rsyncd.conf.html
    http://wfyang.blog.51cto.com/65117/95826
    http://www.linuxsir.org/main/?q=node/256
    http://www.linuxsir.org/bbs/thread348137.html

    需要补充的是上面两个链接中关于防火墙iptables的命令有误,正确的如下

      
    # iptables -A INPUT  -p tcp --dport 873 -j ACCEPT
    # iptables -nvL 查看一下防火墙是不是打开了 873端口
     关于iptables的详细信息可以参考鸟哥的作品:
    http://linux.vbird.org/linux_server/0250simple_firewall.php

 

 

 

 

 

 

 

 

5
0
分享到:
评论
1 楼 donghustone 2015-06-11  
很棒,但如果能把安装环节加进去就完美了。

相关推荐

    rsync命令教程 在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项。

    Rsync命令详解 在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项。 一、rsync的六种工作模式: ...

    windows rsync完整教程.docx

    Windows Rsync 完整教程 Rsync 是一个类 Unix 系统下的数据镜像备份工具,名称来自 remote sync。它的特性包括: 1. 可以镜像保存整个目录树和文件系统。 2. 可以保持原来文件的权限、时间、软硬链接等等。 3. ...

    部署安全传输Rsync服务初学教程

    ### 部署安全传输Rsync服务初学教程 #### Rsync简介 Rsync是一种用于在多台计算机之间同步文件的高效工具。它通过只发送文件差异的方式进行数据同步,从而节省了大量的网络带宽和时间资源。Rsync支持多种协议(如...

    aix下rsync安装包

    在IT领域,尤其是在系统管理与数据同步操作中,`rsync`是一个不可或缺的工具。它在各种操作系统上广泛使用,包括Linux和Unix-like系统,如AIX。本篇文章将详细介绍在AIX环境下如何安装和使用`rsync`,以及它在跨平台...

    Linux下rsync安装配置使用教程.doc

    本教程将详细介绍如何在Redhat AS4系统上安装、配置及使用rsync。 首先,我们来看看服务器端的配置: 1. **安装rsync**:通过`rpm -q rsync`命令来查询rsync是否已经安装,如果没有,则需要使用`yum install rsync...

    Linux简明教程

    这份“Linux简明教程”旨在帮助初学者快速掌握Linux的基本概念和常用操作,从而能够熟练地在Linux环境下工作。 首先,我们需要理解Linux的核心概念。Linux是一种类Unix操作系统,基于Linux内核,由林纳斯·托瓦兹于...

    cygwin 下 rsync-3.0.8安装及使用说明

    在本教程中,我们将深入探讨如何在Cygwin环境下安装rsync 3.0.8版本,并学习其基本用法。 首先,我们需要获取`rsync-3.0.8`的安装包。这个过程可以通过访问rsync官方网站或使用Cygwin的包管理器`setup.exe`来完成。...

    rsync_架设手册

    ### rsync架设手册 #### 1. 什么是rsync? rsync是一个高效且功能强大的文件传输工具,专为Unix类系统设计。它利用所谓的“rsync算法”,能够迅速地在本地与远程服务器间同步文件,仅传输文件差异部分,大大节省了...

    rsync备份海量文件时占用大量内存的解决方法

    linux发行版中大多都自带rsync,不过版本比较低,一般都是2.6.X 在2.X的版本中,rsync备份时都是先列表再备份(添加或者删除),在处理大量文件时,会耗费比较多的内存。 备份的时候,rsync扫描到的每个文件(目录也...

    一键安装Rsync脚本

    **一键安装Rsync脚本** 是一个为了简化Rsync服务端环境部署而设计的实用工具。Rsync(Remote Sync)是一种高效、强大的文件同步和备份工具,广泛应用于系统管理员之间同步数据、备份服务器或者在多台机器间进行文件...

    rsync常见错误及解决方法

    rsync常见错误及解决方法 rsync是一款功能强大的远程数据同步工具,它可以在不同的主机之间同步文件和目录。但是,在使用rsync时,可能会遇到各种错误,本文将总结一些常见的rsync错误及其解决方法。 一、@ERROR: ...

    linux 下rsync文件夹同步配置

    ### Linux下rsync文件夹同步配置详解 #### 引言 在Linux环境下,rsync工具因其高效、稳定、灵活的特点,被广泛应用于文件备份、数据迁移以及文件夹同步等场景。本文将详细介绍如何在Linux系统中配置rsync进行...

    rsync数据同步手册.pdf

    rsync数据同步手册 rsync是一种快速、可靠的文件同步工具,广泛应用于数据备份、同步和复制。下面是关于rsync数据同步手册的知识点总结: 一、系统环境 在开始使用rsync之前,需要了解系统环境的基本配置。包括...

    rsync rpm安装包

    rsync rpm安装包

    windows rsync工具类

    windows rsync工具类windows rsync工具类windows rsync工具类windows rsync工具类windows rsync工具类windows rsync工具类windows rsync工具类windows rsync工具类windows rsync工具类windows rsync工具类

    windows通过cwRsync客户端同部文件到群晖rsync

    于是放弃,打算用rsync进行同步,在摸索的过程中走了很多湾路,所以写出来让大家参考,网上的大部份的windows 和 rsync的教程都是存在问题的同步不了! 首先是要进群晖的SSH里进行修改相关配置文件,详细的见附件。 ...

    rsync同步的艺术

    "rsync同步的艺术" rsync 是一个功能强大的文件同步工具,经常用于服务器之间的文件同步和备份。它能够确保文件的内容、权限和时间戳保持一致。下面是 rsync 的一些重要知识点: 1. rsync 的基本使用:rsync 可以...

    rsync命令详细解答

    ### rsync命令详解 #### 一、概述 `rsync`是Linux系统中一个非常强大的文件同步工具,它能够高效地在本地或者远程之间进行文件和目录的同步操作。相较于传统的`scp`命令,`rsync`具有更快的传输速度,并且支持增量...

Global site tag (gtag.js) - Google Analytics