rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用。本文主要讲述的是如何自架rsync服务器,以实现文件传输、备份和镜像。相对tar和wget来说,rsync 也有其自身的优点,比如速度快、安全、高效;

  手动的:

  首先要建立好两台服务器之间的公钥和密钥,那样就不需要每次都输入密码,也可以实现自动了。

  可以先使用rpm -qa |grep rsync 查看rsync是否已经安装,软件下载 Rysnc的主页地址为:http://rsync.samba.org/

  本试验的测试环境(2台,一个服务端,一个客户端)

  rsync服务端的ip:192.168.48.60

  rsync客户端的ip:192.168.48.148

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

  以下先配置服务器端:

  1. 安装rsync包

  # rpm -q rsync

  rsync-2.6.3-1

  2. rsync只使用一个配置文件就是/etc/rsyncd.conf 这个文件一般是没有的,那就自己建一个好了

  # vi /etc/rsyncd.conf

  uid = nobody

  gid = nobody

  max connections = 200

  timeout = 600

  use chroot = no

  read only = yes

  pid file=/var/run/rsyncd.pid

  host_allow =192.168.48.148 //客户端的IP地址写在这里

  #syslog facility = local7

  #log file=/var/log/rsyncd.log

  #rsync config

  #The 'standard' things

  [rsync_gmmold] //定义同步的路径(客户端用这个关键字链接)

  path = /home //需要同步的路径

  comment = gmmold //这个暂不知道

  3.启动服务

  #/usr/bin/rsync --daemon 最后在server端将rsync以守护进程形式启动, rsync启动的端口为 873端口

  4.加入开机启动

  echo "/usr/bin/rsync --daemon" >> /etc/rc.local

  5.检查rsync时候启动

  # ps -ef | grep rsync

  6.停止服务

  #kill `cat /var/run/rsyncd.pid`

  以下是客户端的配置:

  1. 安装rsync包

  [root@rhel403 old]# rpm -q rsync

  rsync-2.6.3-1

  2. 与服务器端同步:

  #rsync -ave ssh root@192.168.48.60:/home/ /home/ganfic/laji/ //把60机子的/home下的文件同步备份到/home/ganfic/laji/

  自动同步备份:

  1. 在tmp下建一个b.sh文件

  #vi /tmp/b.sh

  把以下内容写到里面去

  #!bin/sh

  rsync -ave ssh root@192.168.48.60:/home/ /home/ganfic/laji/

  :wq

  2 第2步就要涉及到crontab了,在命令行输入

  #crontab -e

  然后把 * * * * * sh /tmp/b.sh //* * * * *部分代表每一分钟,然后 sh /tmp/b.sh 表示运行 b.sh脚本(在下面我再补充说明),-e 使用环境变量EDITOR或RVISUAL指定的编辑器编辑crontab文件。新创建的crontab文件会放在/var/spool/cron目录 下,文件名就是用户名,用cd /var/spool/cron后 会看到用户文件,然后用 vi root(我是在root用户下的)就会看到* * * * * sh /tmp/b.sh已经被转到这里来了。

  这样就完成了,之后就是看看 有没有运行了,打开日志文件,日志文件在 #vi /var/log/cron 就会看到有没有运行了,也可以这样,在没有用自动运行之前,我们是用手动操作的,那时也把60的机子的/home目录下的文件拷了下来,那样,我们进本机 的/home/ganfic/laji文件夹里就会看到60机子下/home的内容,把这些内容都删了,然后再过1分钟看会不会把内容再补上,有的话就是 成功了。

  Linux 防火墙是用iptables,所以我们至少在服务器端要让你所定义的rsync 服务器端口通过,客户端上也应该让通过。

  iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT

  启动rsync服务:

  /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf

  $rsync_HOME/rsync --daemon --config=/etc/rsyncd/rsyncd.conf

  补充:

  rsync 的相关知识:

  rsync命令的用法

  在配置完rsync服务器后,就可以从客户端发出rsync命令来实现各种同步的操作。rsync有很多功能选项,下面就对介绍一下常用的选项:

  rsync的命令格式可以为:

  1. rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST

  2. rsync [OPTION]... [USER@]HOST:SRC DEST

  3. rsync [OPTION]... SRC [SRC]... DEST

  4. rsync [OPTION]... [USER@]HOST::SRC [DEST]

  5. rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST

  6. rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

Linux rsync 同步的更多相关文章

  1. linux rsync同步工具

    linux rsync同步工具 1.rsync介绍rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于unix/linux/windows ...

  2. Linux rsync 同步实践

    目录[-] 1. rsync 同步的大致思路 2. rsync的安装 3. rsync的配置 4. rsync的基本操作 服务器端启动 注2. 实时同步 注3. rsync通过linux防火墙 公司网 ...

  3. Linux rsync同步

    rsync介绍 rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文 ...

  4. Windows Linux 之间rsync同步CODE文件

    Windows Linux 之间rsync同步CODE文件 一.环境Windows:OS:Microsoft Windows Web Server 2008 SP1IP:192.168.88.197 ...

  5. 烂泥:linux文件同步之rsync学习(一)

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天刚好有空就打算开始学习linux下的文件同步软件rsync,在学习rsync时,我们可以分以下几个步骤进行: 1. rsync是什么 2. rsy ...

  6. Linux下同步工具inotify+rsync使用详解

    1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到同步,这 ...

  7. linux rsync实时同步

    rsync同步 同步与复制的差异:复制:完全拷贝源到目标同步:增量拷贝,只传输变化过的数据 同步操作:remote sync 远程同步支持本地复制,或与其他ssh,rsync主机同步.官方网站:htt ...

  8. Linux运维: Rsync同步数据(ubuntu16.04+windows10)

    rsync同步数据 -环境:Linux (ubuntu16.04) + windows10 Linux: 安装 sudo apt-get install rsync rsync --version 查 ...

  9. (转)Linux下同步工具inotify+rsync使用详解

    原文:https://segmentfault.com/a/1190000002427568 1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步 ...

随机推荐

  1. Push failed: Failed with error: fatal: Could not read from remote repository.

    GitLab push远端,出现错误提示:Push failed: Failed with error: fatal: Could not read from remote repository. 原 ...

  2. ios delegate 代理模式 观察者模式 不同视图间的通信

    delegate,在ios中比比皆是,NSURLConnection(网络请求有),tableView, connectionView,等系统自带 的常见代理.甚至,自己写代码的时候,随意间敲打出了p ...

  3. DataGridview焦点不移开不保存数据问题

    this.datagridLeft.ClearSelection();                this.datagridLeft.Refresh();                this. ...

  4. (笔记)angular 包含关系的controller参数父级方法

  5. Spring框架搭建遇到的问题汇总

    1.The resource is not on the build path of a Java project 然后把相应的依赖加入构建路径 2.Type mismatch: cannot con ...

  6. 基于s5pv210嵌入式系统busybox文件系统移植

    基于s5pv210嵌入式系统busybox文件系统移植 1.下载源码 busybox.net/downloads下载最新版的busybox源码,最新源码为1.21.1 2.解压源码文件 tar xvf ...

  7. Java设计模式-Builder生成器模式

    概念: 生成器模式也称之为建造者模式.生成器模式的意图在于将一个复杂的构建与其表示相分离,构建与产品分离. UML: Ibuild接口清晰地反映了创建产品Product的流程. 生成器模式涉及4个关键 ...

  8. C\C++ 框架和库整理(转)

    [本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 下次造轮子前先看看现有的轮子吧 值得学习的C语 ...

  9. 设置peoplecode trace

    Configuring PeopleCode Trace Select PeopleTools, Utilities, Debug, Trace PeopleCode to access the Tr ...

  10. <b>和<strong>标签区别

    简单说, strong是web标准中xhtml的标签,加强语气,起强调作用(默认是采用加粗来实现强调),逻辑标签: b 是html的,bold粗体. web标准主张xhtml不涉及具体的表现形式,“强 ...