rsync从windows到linux的同步备份

by admin on 2019年9月6日

linux rsync同步备份

 

rsync服务是一种高效的远程数据备份的工具,该服务的端口号为873,

奥门威尼斯网址 1

1. rsync 介绍

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
rsync是一个功能非常强大的工具,其命令也有很多功能特色选项。

 

名称
角色
IP地址
Windows server 2003
服务器
Eth0:192.168.1.1
RHEL5.5
客户端
Eth0:192.168.1.2

是Liunx下的一种非独立服务,由xinetd超级服务管理,代替监听873端口。

 

2. rsync使用

1、rsync的安装:

 

优点:

实验环境

【不带任何选项】
rsync main.c machineB:/home/userB

1
只要目的端的文件内容和源端不一样,就会触发数据同步,rsync会确保两边的文件内容一样。
2 但rsync不会同步文件的“modify
time”,凡是有数据同步的文件,目的端的文件的“modify
time”总是会被修改为最新时刻的时间。
3
rsync不会太关注目的端文件的rwx权限,如果目的端没有此文件,那么权限会保持与源端一致;如果目的端有此文件,则权限不会随着源端变更。
4
只要rsync有对源文件的读权限,且对目标路径有写权限,rsync就能确保目的端文件同步到和源端一致。
5
rsync只能以登陆目的端的账号来创建文件,它没有能力保持目的端文件的输主和属组和源端一致。(除非你使用root权限,才有资格要求属主一致、属组一致)

    rysnc的官方网站:

一、cwRsyncServer服务端配置

1,rsync可以利用ssh和ssl远程控制进行连接远程主机进行备份,依赖sshd服务

    (1) Rsync服务器:10.0.10.158

【-t选项】
 rsync -t main.c machineB:/home/userB

奥门威尼斯网址,1 使用-t选项后,rsync总会想着一件事,那就是将源文件的“modify
time”同步到目标机器。
2
带有-t选项的rsync,会变得更聪明些,它会在同步前先对比两边文件的时间戳和文件大小,如果一致,则就认为两边文件一样,对此文件就不再采取更新动作了。
3
因为rsync的聪明,也会反被聪明误。如果目的端的文件的时间戳、大小和源端完全一致,但是内容恰巧不一致时,rsync是发现不了的。这就是传说中的“坑”!
4 对于rsync自作聪明的情况,解决办法就是使用-I选项。

    # sudo apt-get  install  rsync  注:在debian、ubuntu
等在线安装方法;

下载服务端cwRsyncServer

2,可以实现增量备份,在第一次建立连接时进行完整备份,以后只同步变化的数据

    (2) Rsync客户端:10.0.10.173

【-I选项】

rsync -I main.c machineB:/home/userB

1 -I选项会让rsync变得很乖很老实,它会挨个文件去发起数据同步。
2
-I选项可以确保数据的一致性,代价便是速度上会变慢,因为我们放弃了“quick
check”策略。(quick
check策略,就是先查看文件的时间戳和文件大小,依次先排除一批认为相同的文件)
3 无论情况如何,目的端的文件的modify time总会被更新到当前时刻。

  # yum install rsync    注:Fedora、Redhat 等在线安装方法;

解压cwRsyncServer_4.0.3_Installer.zip,双击cwRsyncServer_4.0.3_Installer.exe
 

3,可以使用自己的socket来进行同步,可以在服务端设置密码限制访问。

 

【-v选项】

rsync -vI main.c machineB:/home/userB       
//就是让rsync输出更多的信息,增加越多的v就可以获取越多的日志信息      

  # rpm -ivh rsync       注:Fedora、Redhat 等rpm包安装方法;

奥门威尼斯网址 2

缺点:不能进行实时同步,需要安装lsyncd工具来辅助进行实时同步。


【多个选项】

 rsync -rtv dist/ root@127.0.0.1:/usr/local/nginx/html/ops
//eg: 将本地代码发布到远程服务器
//将同级文件夹dist下面的文件同步到远程服务的ops文件夹下面

e.g.: publish.sh文件

# 这是一个发布前端代码的脚本  只要执行 bash publish.sh test 发布代码到测试服务器的对应文件夹下面

#! /bin/bash

# 发布之前的打包
npm run build
# env变量保存 bash publish.sh xxx 第一个参数
env=$1
case $env in
    test)
        serverPath1=root@127.0.0.1:/usr/local/nginx/html/ops
        ;;
    regress)
        zipsTarget1=""
        ;;
     prd)
        serverPath1='正式环境地址'
        ;;
     *)
        echo "Need to specify env (test | regress | prd)"
        exit -1;
        ;;
esac

# serverPath1 长度不为0
if [ ! -z serverPath1 ] ; then
    rsync -rtv dist/ $serverPath1 ;
else
    echo rsync  not excuted because there is no remote zipsTarget1 address for $env environment ;
fi

echo "Congratulation!publish success!"

 

奥门威尼斯网址 3

配置步骤:

Rsync服务器端的配置

3. rsync参数的具体解释:

-v, --verbose 详细模式输出 -q, --quiet 精简输出模式 -c, --checksum 打开校验开关,强制对文件传输进行校验 -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD -r, --recursive 对子目录以递归模式处理 -R, --relative 使用相对路径信息 -b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。 --backup-dir 将备份文件(如~filename)存放在在目录下。 -suffix=SUFFIX 定义备份文件前缀 -u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件) -l, --links 保留软链结 -L, --copy-links 想对待常规文件一样处理软链结 --copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结 --safe-links 忽略指向SRC路径目录树以外的链结 -H, --hard-links 保留硬链结 -p, --perms 保持文件权限 -o, --owner 保持文件属主信息 -g, --group 保持文件属组信息 -D, --devices 保持设备文件信息 -t, --times 保持文件时间信息 -S, --sparse 对稀疏文件进行特殊处理以节省DST的空间 -n, --dry-run现实哪些文件将被传输 -W, --whole-file 拷贝文件,不进行增量检测 -x, --one-file-system 不要跨越文件系统边界 -B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节 -e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步 --rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息 -C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件 --existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件 --delete 删除那些DST中SRC没有的文件 --delete-excluded 同样删除接收端那些被该选项指定排除的文件 --delete-after 传输结束以后再删除 --ignore-errors 及时出现IO错误也进行删除 --max-delete=NUM 最多删除NUM个文件 --partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输 --force 强制删除目录,即使不为空 --numeric-ids 不将数字的用户和组ID匹配为用户名和组名 --timeout=TIME IP超时时间,单位为秒 -I, --ignore-times 不跳过那些有同样的时间和长度的文件 --size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间 --modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0 -T --temp-dir=DIR 在DIR中创建临时文件 --compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份 -P 等同于 --partial --progress 显示备份过程 -z, --compress 对备份的文件在传输时进行压缩处理 --exclude=PATTERN 指定排除不需要传输的文件模式 --include=PATTERN 指定不排除而需要传输的文件模式 --exclude-from=FILE 排除FILE中指定模式的文件 --include-from=FILE 不排除FILE指定模式匹配的文件 --version 打印版本信息 --address 绑定到特定的地址 --config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件 --port=PORT 指定其他的rsync服务端口 --blocking-io 对远程shell使用阻塞IO -stats 给出某些文件的传输状态 --progress 在传输时现实传输过程 --log-format=formAT 指定日志文件格式 --password-file=FILE 从FILE中得到密码 --bwlimit=KBPS 限制I/O带宽,KBytes per second -h, --help 显示帮助信息 一般同步传输目录都使用azv选项.

 

奥门威尼斯网址 4

1,在client和server端各自安装rsync软件。yum install rsync* -y

1. 安装xinetd和rsync

    源码包安装:

奥门威尼斯网址 5

2 , 在服务端编写配置文件rsyncd.conf 此文件不存在,手动创建 vim
/etc/rsyncd.conf

# yum install xinetd
# yum install rsync

    tar xvf  rsync-xxx.tar.gz

奥门威尼斯网址 6

3 , 在服务端创建密码文件 vi /var/rsync.pass chmod 600 /var/rsync
必须赋600权限,

 

  cd rsync-xxx

奥门威尼斯网址 7

内容为user:password 格式。

2. 创建配置目录和文件

  ./configure –prefix=/usr  ;make ;make install

奥门威尼斯网址 8

4, 在服务端的rsyncd.conf配置文件设置同步目录和权限。

# mkdir /etc/rsync

 

我的电脑—右键管理—服务和应用—服务

5, client 查看服务器同步目录 rsync –list-only rsync://172.16.0.1

该目录下包含3个文件:

 

找到RsyncSever,双击—启动
 

6, client 同步server目录 rsync -av –delete rsync://172.16.0.1:/share

  • rsyncd.conf           # rsync主配置文件
  • rsyncd.secrets      # 密码文件    
  • rsyncd.motd         # 服务信息定义文件

2、rsync 的命令格式可以为以下六种:

奥门威尼斯网址 9

7, client同步访问有访问权限的server

下面逐一编辑这些文件:

  rsync [OPTION]… SRC DEST

提供桌面交互
 

rsync -av –delete –password-file=/var/myscret.pass
rsync://[email protected]/share
/backup

2.1 编辑主配置文件

  rsync [OPTION]… SRC
[[email protected]]HOST:DEST

奥门威尼斯网址 10

8,客户端创建密码存放文件myscrete.pass,内容为server访问密码,这样直接访问,适合脚本。

# vim /etc/rsync/rsyncd.conf
  pid file = /var/run/rsyncd.pid    #pid文件的存放位置
  port = 873                        #通信的端口
  address = 10.0.10.158             #监听的地址/服务器的地址
  uid = root                        #运行rsync守护进程的用户
  gid = root                        #运行rsync守护进程的用户组
  use chroot = yes                  #是否使用chroot
  read only = no                    #是否只读
  hosts allow=10.0.0.0/255.255.0.0  #设置允许访问的主机(可以是一个范围也可以是一个IP地址)
  hosts deny= *                     #设置拒绝访问的主机(这里的*表示除了allow以外的都拒绝)
  max connections = 51              #最大连接数
  motd file = /etc/rsync/rsyncd.motd  #指定信息显示文件
  log file = /var/log/rsync.log       #指定日志文件
  log format = %t %a %m %f %b %l      #设置日志文件格式
  syslog facility = local3            #设置日志级别
  timeout = 600                       #设置连接超时时间(单位:s)

  [webroot]               #目录的标识/认证模块名    
  path = /var/www/html    #要同步的目录名
  list=yes                #是否允许列出文件
  ignore errors           #忽略一般的IO错误
  auth users = admin      #认证的用户名
  secrets file = /etc/rsync/rsyncd.secrets  #密码文件
  comment = web root directory              #说明信息
  exclude =   secret/     #需要排除的目录(排除后就不同步它了)

  rsync [OPTION]…
[[email protected]]HOST:SRC
DEST

打开E盘,创建要备份的文件夹,此处取名为benet(此处是文件夹,不是文件)

–delete选项的含义表示:镜像同步server目录,包括删除的文件同步,否则只同步增加的文件

2.2 编辑密码配置文件

  rsync [OPTION]…
[[email protected]]HOST::SRC
DEST

右键单击benet文件夹,选择属性,切换到安全选项,点添加

二:配置lrsyncd工具进行实时同步。

# vim /etc/rsync/rsyncd.secrets
  admin:123123         #格式是“用户名:密码”

  rsync [OPTION]… SRC
[[email protected]]HOST::DEST

输入:SvcCWRSYNC
 

1,下载lrsyncd.tar.gz包,安装。cp /usr/local/share/doc/lsyncd/lrsync.lua
/usr/loca/etc

2.3 编辑服务信息定义文件

  rsync [OPTION]…
rsync://[[email protected]]HOST[:PORT]/SRC
[DEST]

奥门威尼斯网址 11

编辑该配置文件。

# vim /etc/rsync/rsyncd.motd
  welcome access

  对应于以上六种命令格式, rsync 有六种不同的工作模式:

打开C:\Program Files\ICW目录

2, 运行lsyncd /usr/local/etc/lrsync.lua Ok

 

  1) 拷贝本地文件。当 SRC 和 DES 路径信息都不包含有单个冒号 “:”
分隔符时就启动这种工作模式。

用记事本打开rsyncd.conf,修改添加以下内容(修改之前先备份,以防出错重改)
 

是Liunx下的一种非独立服务,由xinetd超级服务管理,代替监听873端口。…

3. 修改密码配置文件的权限

  2) 使用一个远程 shell 程序 ( 如 rsh 、 ssh)
来实现将本地机器的内容拷贝到远程机器。当 DST 路径地址包含单个冒号 “:”
分隔符时启动该模式。

奥门威尼斯网址 12

# chmod 600 rsyncd.secrets

  3) 使用一个远程 shell 程序 ( 如 rsh 、 ssh)
来实现将远程机器的内容拷贝到本地机器。当 SRC 地址路径包含单个冒号 “:”
分隔符时启动该模式。

编辑rsyncd.conf文件

 

  4) 从远程 rsync 服务器中拷贝文件到本地机。当 SRC 路径信息包含 “::”
分隔符时启动该模式。

use chroot = false

4. 启动Rsync服务

  5) 从本地机器拷贝文件到远程 rsync 服务器中。当 DST 路径信息包含 “::”
分隔符时启动该模式。

strict modes = false

# /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
# vim /etc/xinetd.d/rsync
  service rsync
  {
    disable = no
    flags       = IPv6
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/bin/rsync
    server_args     = --daemon --config=/etc/rsync/rsyncd.conf
    log_on_failure  += USERID
  }
# service xinetd restart

  6) 列远程机的文件列表。这类似于 rsync
传输,不过只要在命令中省略掉本地机信息即可。

hosts allow = *

 

 

log file = rsyncd.log


 

 

Rsync客户端配置

3、理解rsync:

# Module definitions

  1. 创建目录、编辑密码文件

    # mkdir /etc/rsync
    # vim /etc/rsync/password
    123123 #格式是“密码”
    # chmod 600 /etc/rsync/password #修改密码文件的权限

   
rsync可以理解为在windows上建一个ftp服务器,可以有自己的认证用户名和密码,给客户端登陆,与操作系统的帐号密码无相关,可以chroot,可以理解为虚拟目录;

# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work

 

   
rsync的服务端,即被备份的机子,客户端,即备份到哪的机子,也叫备份服务器;

#
 


    命令有6种格式,后三种才涉及到rsync服务器的概念;

[benet] #备份模版

Rsync同步命令的参数

   
如果要用于rsync服务器,就和建立ftp差不多,那就要在服务端建立配置文件并配置相关信息,比较复杂,且意义不大,不在本文讨论,需要的自行网上找资料;

path = /cygdrive/e/benet

      -v  表示verbose详细显示

   
通过命令的第2,3种方式,不用建服务端,是通过ssh的自带的文件传输功能来实现,简单好用,本文主要讲这种方式。

read only = true #客户端只读

      -z  表示压缩(reduces the amount of data being transmitted)

 

hosts allow =
192.168.1.2 #允许连接IP,多个IP中间用英文状态下逗号隔,不限制IP填写
*即可

      -r   表示recursive递归

 

auth users = benet #允许连接的用户名

      -t   表示保持原文件创建时间

4、实例(ssh端口不是22的情况):

secrets file = etc/rsyncd.secrets #存放用户名密码的认证文件路径
 

      -o  表示保持原文件属主

rsync -e ‘ssh -p 8122’ -avr –progress –delete
 [email protected]:/u01/app/
/u01/app/ydtest/ –exclude=*.log*

奥门威尼斯网址 13

      -p  表示保持原文件的参数

 

在C:\Program Files\ICW目录下面新建/etc/rsyncd.secrets文件

      -g  表示保持原文件的所属组

 

用记事本打开,输入用户名和密码

      -a  归档模式

5、参数说明:

benet:123

      -P  表示代替-partial和-progress两者的选项功能

    -v, –verbose  详细模式输出

 

      -e    ssh建立起加密的连接

    -q, –quiet 精简输出模式

奥门威尼斯网址 14

      –partial   
阻止rsync在传输中断时删除已拷贝的部分(如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上删除已拷贝的部分文件)

    -c, –checksum 打开校验开关,强制对文件传输进行校验

二、Rsync客户端配置

      –progress  是指显示出详细的进度情况

    -a, –archive
归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD

1、查看selinux机制,关闭selinux

      –delete 
是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致

    -r, –recursive 对子目录以递归模式处理

[[email protected]
~]# getenforce

      –exclude  不包含指定目录

    -R, –relative 使用相对路径信息

Disabled

      –size-only 
这个参数用在两个文件夹中的差别仅是源文件夹中有一些新文件,不存在重名且被修改过的文件,因为这种文件有可能会因为内容被修改可大小一样,而被略过。这个参数可以大大地提高同步的效率,因为它不需要检查同名文件的内容是否相同

    -b, –backup
创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用–suffix选项来指定不同的备份文件前缀。

2、开启防护墙tcp 873端口,以便日后改为服务器使用

      –password-file 
来指定密码文件,内容包含server端指定认证用户的密码

    –backup-dir 将备份文件(如~filename)存放在在目录下。

[[email protected]
~]# vi /etc/sysconfig/iptables #编辑防火墙配置文件


    -suffix=SUFFIX 定义备份文件前缀

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

验证

    -u, –update
仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)

3、安装Rsync客户端软件

  1. 同步服务器的文件到本地

    # ll /var/www/html/   #看服务器上的/var/www/html目录下有啥
    总用量 8
    -rw-r–r–. 1 root root 0 12月 1 01:05 index.html
    -rw-r–r–. 1 root root 0 12月 1 01:05 page.html

    -l, –links 保留软链结

[[email protected]
~]# yum install rsync xinetd

 

    -L, –copy-links 想对待常规文件一样处理软链结

[[email protected]
~]# vi /etc/xinetd.d/rsync #编辑配置文件,设置开机启动rsync
,Centos上的rsync使用xinetd启用的

# rsync -vzrtopg --progress --delete admin@10.0.10.158::webroot /var/www/html/ --password-file=/etc/rsync/password   #在客户机,执行同步操作,使得获得服务器的文件
welcome access 

receiving incremental file list
./
index.html
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=1/3)
page.html
           0 100%    0.00kB/s    0:00:00 (xfer#2, to-check=0/3)

sent 105 bytes  received 227 bytes  664.00 bytes/sec
total size is 0  speedup is 0.00

    –copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结

将disable=yes,改为no

 

    –safe-links 忽略指向SRC路径目录树以外的链结

service rsync

# ll /var/www/html/            #在服务器端我们试着添加一下新的目录和文件(包括设置了不同步的目录secret)
总用量 8
drwxr-xr-x. 2 root root 4096 12月  1 01:41 haha
-rw-r--r--. 1 root root    0 12月  1 01:05 index.html
-rw-r--r--. 1 root root    0 12月  1 01:40 page_2.html
-rw-r--r--. 1 root root    0 12月  1 01:05 page.html
drwxr-xr-x. 2 root root 4096 12月  1 01:40 secret

    -H, –hard-links 保留硬链结     -p, –perms 保持文件权限

{

 

    -o, –owner 保持文件属主信息     -g, –group 保持文件属组信息

        disable = no

# rsync -vzrtopg --progress --delete admin@10.0.10.158::webroot /var/www/html/ --password-file=/etc/rsync/password  #在客户端执行同步命令,以获得服务器的更新
welcome access 

receiving incremental file list
./
page_2.html
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/4)

sent 80 bytes  received 207 bytes  191.33 bytes/sec
total size is 0  speedup is 0.00

# rsync -vzrtopg --progress --delete admin@10.0.10.158::webroot /var/www/html/ --password-file=/etc/rsync/password 
welcome access 

receiving incremental file list
./
haha/

sent 65 bytes  received 203 bytes  536.00 bytes/sec
total size is 0  speedup is 0.00

# ll /var/www/html/                 --------->#确实没有同步secret这个目录
总用量 4
drwxr-xr-x. 2 root root 4096 12月  1 2009 haha
-rw-r--r--. 1 root root    0 12月  1 2009 index.html
-rw-r--r--. 1 root root    0 12月  1 2009 page_2.html
-rw-r--r--. 1 root root    0 12月  1 2009 page.html

    -D, –devices 保持设备文件信息    -t, –times 保持文件时间信息

        socket_type     = stream

 

    -S, –sparse 对稀疏文件进行特殊处理以节省DST的空间

        wait            = no

  1. 同步本地的文件到服务器

    # touch new.html    #在本地新增一个文件
    # rsync -vzrtopg –progress –partial –password-file=/etc/rsync/password /var/www/html/ admin@10.0.10.158::webroot #在本地执行同步命令,使本地的更新同步到服务器
    welcome access

    sending incremental file list
    ./
    new.html

            0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=3/6)
    

    sent 165 bytes received 31 bytes 392.00 bytes/sec
    total size is 0 speedup is 0.00

    -n, –dry-run现实哪些文件将被传输

        user            = root

 

    -W, –whole-file 拷贝文件,不进行增量检测

        server          = /usr/bin/rsync

# ls /var/www/html    #在服务器上看到了这个new.html
haha  index.html  new.html  page_2.html  page.html  secret

    -x, –one-file-system 不要跨越文件系统边界

        server_args     = –daemon

 

    -B, –block-size=SIZE 检验算法使用的块尺寸,默认是700字节

        log_on_failure += USERID


    -e, –rsh=COMMAND
指定使用rsh、ssh方式进行数据同步,也可用于指定ssh的端口,例rsync -e ‘ssh
-p 1234’
[email protected]:SourceFile
DestFile

}

常见错误

    –rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息

/etc/init.d/xinetd start #启动
 

问题一:
@ERROR: chroot failed
rsync error: error starting client-server protocol (code 5) at
main.c(1522) [receiver=3.0.3]
原因:服务器端的目录不存在或无权限。创建目录并修正权限可解决问题。检查服务器那个密码文件的权限是否为600

    -C, –cvs-exclude
使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件

4、测试

问题二:
@ERROR: auth failed on module tee
rsync error: error starting client-server protocol (code 5) at
main.c(1522) [receiver=3.0.3]
原因:服务器端该模块(tee)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败。提供正确的用户名密码解决此问题。
 
问题三:
@ERROR: Unknown module ‘tee_nonexists’
rsync error: error starting client-server protocol (code 5) at
main.c(1522) [receiver=3.0.3]
原因:服务器不存在指定模块。提供正确的模块名或在服务器端修改成你要的模块以解决问题。
 
问题四:
password file must not be other-accessible
continuing without password file
Password:
原因:这是因为rsyncd.pwd
rsyncd.secrets的权限不对,应该设置为600。如:chmod 600 rsyncd.pwd
 
问题五:
rsync: failed to connect to 218.107.243.2: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(104)
[receiver=2.6.9]
原因:对方没开机、防火墙阻挡、通过的网络上有防火墙阻挡,都有可能。关闭防火墙,其实就是把tcpudp的873端口打开。

    –existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件

远程一下测试一下是否可以正常通信,安装telnet

问题六:
rsync error: error starting client-server protocol (code 5) at
main.c(1524) [Receiver=3.0.7]
原因:/etc/rsyncd.conf配置文件内容有错误。请正确核对配置文件。
 
问题七:
rsync: chown “” failed: Invalid argument (22)
原因:权限无法复制。去掉同步权限的参数即可。(这种情况多见于Linux向Windows的时候)

    –delete 删除那些DST中SRC没有的文件

[[email protected]
~]# telnet 192.168.1.1 873 #成功

问题八:
@ERROR: daemon security issue — contact admin
rsync error: error starting client-server protocol (code 5) at
main.c(1530) [sender=3.0.6]
原因:同步的目录里面有软连接文件,需要服务器端的/etc/rsyncd.conf打开use
chroot = yes。掠过软连接文件

    –delete-excluded 同样删除接收端那些被该选项指定排除的文件

Trying 192.168.1.1…

 

    –delete-after 传输结束以后再删除

Connected to 192.168.1.1 (192.168.1.1).

    –ignore-errors 及时出现IO错误也进行删除

Escape character is ‘^]’.

    –max-delete=NUM 最多删除NUM个文件

@RSYNCD: 30.0
 

    –partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输

同步数据

    –force 强制删除目录,即使不为空

为了输入时不手动输入密码,我们在客户端也创建一个和服务端一样的密码文件(此文件路径和密码要与服务器端的一样,客户端不用写名字)

    –numeric-ids 不将数字的用户和组ID匹配为用户名和组名

[[email protected]
~]# echo “123”>
/etc/rsyncd.secrets #文件名可以不一样,但要在/etc下

    –timeout=TIME IP超时时间,单位为秒

[[email protected]
~]# cat /etc/rsyncd.secrets

    -I, –ignore-times 不跳过那些有同样的时间和长度的文件

123

    –size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间

[[email protected]
~]# chmod 600 /etc/rsyncd.secrets
 

    –modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0

在客户端同步数据

    -T –temp-dir=DIR 在DIR中创建临时文件

注意:此处的密码为cwRsyncServer服务端C:\Program
Files\ICW\etc\rsyncd.secrets文件配置的密码

    –compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份

[[email protected]
~]# rsync -avz –password-file=/etc/rsyncd.secrets
[email protected]::benet
/opt/

    -P 等同于 –partial

receiving file list … done

    –progress 显示备份过程

./

    -z, –compress 对备份的文件在传输时进行压缩处理

11.txt

    –exclude=PATTERN 指定排除不需要传输的文件模式

 

    –include=PATTERN 指定不排除而需要传输的文件模式

sent 91 bytes received 192 bytes 51.45 bytes/sec

    –exclude-from=FILE 排除FILE中指定模式的文件

total size is 52 speedup is 0.18
 

    –include-from=FILE 不排除FILE指定模式匹配的文件

5.实现自动同步数据,手动编写一个小脚本。冒号后面的为在服务器端定义的模版

    –version 打印版本信息

[[email protected]
~]# vim rsync.sh

    –address 绑定到特定的地址

#!/bin/bash

    –config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件

/usr/bin/rsync -avz
–password-file=/etc/rsyncd.secrets [email protected]::benet /opt

    –port=PORT 指定其他的rsync服务端口

加入自动化备份

    –blocking-io 对远程shell使用阻塞IO

[[email protected]
~]# chmod +x /root/rsync.sh

    -stats 给出某些文件的传输状态

[[email protected]
~]# crontab -e

    –progress 在传输时现实传输过程

*       *       *       *       *       /root/rsync.sh
 

    –log-format=formAT 指定日志文件格式

角色 IP地址 Windows server 2003 服务器
Eth0:192.168.1.1 RHEL5.5 客户端 Eth0:192.168.1.2
一、cwRsyncServer服务端配置 下载服务端cwRsyncServer 解压cwRsy…

    –password-file=FILE 从FILE中得到密码

    –bwlimit=KBPS 限制I/O带宽,KBytes per second      -h, –help
显示帮助信息

rsync同步备份 1、rsync的安装:
rysnc的官方网站: #
sudo apt-get install rsync 注:在debian、u…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图