rsync备份服务介绍

1.1 rsync软件介绍

rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具

 

全量:将全部数据进行传输覆盖

增量:只传输差异部分的数据

1.2  实现增量复制的原理:

rsync通过其独特的“quick check”算法,实现增量传输数据

官方增量传输算法说明:

Rsync finds files that need to be transferred using a “quick check” algorithm (by default) that looks

for files that have changed in size or in last-modified time.  Any changes  in  the  other  preserved

attributes  (as  requested by options) are made on the destination file directly when the quick check

indicates that the file’s data does not need to be updated.

在同步备份数据时,默认情况下,Rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可根据权限,属主等属性的变化同步,

但需要指定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以,可以实现快速的同步备份数据。

1.3 rsync软件功能

01. 类似于cp命令---(本地备份传输数据)

rsync==cp

[root@backup ~]# # rsync == cp
[root@backup ~]# 
[root@backup ~]# cp -a /etc/hosts /tmp/
[root@backup ~]# ls /tmp/hosts 
/tmp/hosts
[root@backup ~]# rm -f /tmp/hosts 
[root@backup ~]# ls /tmp/hosts 
ls: cannot access /tmp/hosts: No such file or directory
[root@backup ~]# rsync /etc/hosts /tmp/
[root@backup ~]# ls /tmp/hosts 
/tmp/hosts

02. 类似于scp命令---(远程备份传输数据)

rsync==scp

[root@backup ~]# scp -rp /etc/hosts 10.0.0.31:/tmp/

The authenticity of host '10.0.0.31 (10.0.0.31)' can't be established.

RSA key fingerprint is b7:70:96:2b:7a:f2:82:db:54:3b:75:b2:70:7a:c0:49.

Are you sure you want to continue connecting (yes/no)? y

Please type 'yes' or 'no': yes

Warning: Permanently added '10.0.0.31' (RSA) to the list of known hosts.

root@10.0.0.31's password:

host 100%  371     0.4KB/s   00:00   

[root@backup ~]# rsync -rp /etc/hosts 10.0.0.31:/tmp/

root@10.0.0.31's password:

03. 类似于rm命令---(实现无差异同步备份)

rsync==rm

[root@backup tmp]# ## rsync == rm

[root@backup tmp]# mkdir /oldboy01

[root@backup tmp]# cp -a /tmp/* /oldboy01/

[root@backup tmp]# ll /oldboy01/

total 16

-rw-r--r-- 1 root root  371 Oct 11 15:12 hosts

-rw-r--r-- 1 root root 4165 Oct 10 12:24 optimize-init_sys.sh

-rw-r--r-- 1 root root 2184 Aug  5  2015 sysctl.conf

[root@backup tmp]# rm -rf /oldboy01/*

[root@backup tmp]# ll /oldboy01/

total 0

[root@backup tmp]# mkdir /null

[root@backup tmp]# cp -a /tmp/* /oldboy01/

[root@backup tmp]# rsync --delete /null/  /oldboy01/

rsync: --delete does not work without -r or -d.

rsync error: syntax or usage error (code 1) at main.c(1422) [client=3.0.6]

[root@backup tmp]#

[root@backup tmp]# rsync -r --delete /null/  /oldboy01/

[root@backup tmp]# ll /oldboy01/

total 0

 

04. 类似于ls命令---(本地文件信息查看)

rsync==ls -l

[root@backup tmp]# # rsync == ls

[root@backup tmp]# ls -l /etc/hosts

-rw-r--r--. 2 root root 371 Oct 10 15:45 /etc/hosts

[root@backup tmp]# rsync /etc/hosts

-rw-r--r--         371 2017/10/10 15:45:09 hosts

rsync命令属于1 v 4 的命令

1.4 rsync特性总结(7个特性信息说明)

01. 支持拷贝普通文件与特殊文件如链接文件,设备等。

02. 可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。

    #tar zcvf backup_1.tar.gz  /opt/data  -exclude=oldboy   

    说明:在打包/opt/data时就排除了oldboy命名的目录和文件。

03. 可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变-p。

04. 可实现增量同步,既只同步发生变化的数据,因此数据传输效率很高(tar -N)。

    # 将备份/home 目录自 2008-01-29 以来修改过的文件

    # tar -N 2008-01-29 -zcvf /backups/inc-backup_$(date +%F).tar.gz /home

    # 将备份 /home 目录昨天以来修改过的文件

    # tar -N $(date -d yesterday "+%F") -zcvf /backups/inc-backup_$(date +%F).tar.gz /home

    # 添加文件到已经打包的文件

    # tar -rf all.tar *.gif

    说明:这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

05. 可以使用rcp,rsh,ssh等方式来配合进行隧道加密传输文件(rsync本身不对数据加密)

06. 可以通过socket(进程方式)传输文件和数据(服务端和客户端)*****。重点掌握

07. 支持匿名的或认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像。

1.5 rsync的企业工作场景说明

01. 两台服务器之间数据同步(定时 任务cron+rsync)

同步网站内部人员数据信息(定时任务最小周期为1分钟)

02. 两台服务器之间数据同步(定时任务inotify/sersync/lrsyncd+rsync)

同步网站用户人员数据信息

第2章 rsync软件工作方式

SYNOPSIS

       Local:  rsync [OPTION...] SRC... [DEST]

               本地数据同步方式

       Access via remote shell:

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

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

               远程数据同步方式

       Access via rsync daemon:

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

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

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

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

               守护进程方式数据同步

2.1 本地数据同步方式(类似于cp)

Local:  rsync [OPTION...] SRC... [DEST]

rsync        ---数据同步命令

[OPTION...]  ---rsync命令参数信息

SRC            ---要不同得数据信息(文件或目录)

[DEST]          ---将数据传输到什么位置

实例命令演示:

rsync /etc/hosts /tmp/

2.2 远程数据同步方式(类似scp)

Access via remote shell:

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

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

说明:需要进行交互传输数据。如果想实现免交互传输数据,需要借助ssh+key方式实现

pull:

 [USER@]          ---以什么用户身份传输数据信息

HOST:                 ---远程主机信息(IP地址信息 主机名称信息)

SRC                     ---远端要恏过来的数据信息

[DEST]                ---恏到本地什么位置

Push:

SRC                     ---本地要怼过去的数据信息

DEST                  ---怼到远端什么位置

实践操作:pull

rsync 10.0.0.31:/tmp/oldboyedu.txt /tmp/

 

实践操作:push

[root@backup tmp]# rsync -r /tmp  10.0.0.31:/tmp/

root@10.0.0.31's password:

[root@backup tmp]# rsync -r /tmp/  10.0.0.31:/tmp/

root@10.0.0.31's password:

说明:/tmp   -- 表示将tmp目录下面数据内容及目录本身都进行传输

      /tmp/  -- 表示只传输tmp目录下面的内容信息

 

[root@backup tmp]# rsync -vzrtopgP  -e 'ssh -p 22' root@172.16.1.31:/tmp/ /tmp/

root@172.16.1.31's password:

receiving incremental file list

 

sent 12 bytes  received 154 bytes  36.89 bytes/sec

total size is 6720  speedup is 40.48

[root@backup tmp]# scp -rp  root@172.16.1.31:/tmp/ /tmp/

root@172.16.1.31's password:

sysctl.conf                                                                            100% 2184     2.1KB/s   00:00   

optimize-init_sys.sh                                                                   100% 4165     4.1KB/s   00:00   

hosts                                                                                  100%  371     0.4KB/s   00:00   

oldboyedu.txt     

     

[root@backup tmp]# rsync -vzrtopgP  -e 'ssh -p 22' /tmp/  root@172.16.1.31:/tmp

root@172.16.1.31's password:

sending incremental file list

./

hosts

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

oldboyedu.txt

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

optimize-init_sys.sh

        4165 100%    3.97MB/s    0:00:00 (xfer#3, to-check=2/6)

sysctl.conf

        2184 100%    2.08MB/s    0:00:00 (xfer#4, to-check=1/6)

.ICE-unix/

 

sent 2904 bytes  received 95 bytes  856.86 bytes/sec

total size is 6720  speedup is 2.24     

2.3 守护进程方式数据同步(免交互传输同步数据)

 

Access via rsync daemon:

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

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

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

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

2.3.1 配置rsync守护进程方式(需要有服务端与客户端)

规划:  01. backup服务器作为rsync服务端   02.以rsync客户端服务器作为参照物服务器,将数据推到rsync服务端

 第一部分:配置rsync服务端(将服务端配置到backup服务器上)

第一个里程碑:软件是否存在

[root@backup ~]# rpm -qa rsync

rsync-3.0.6-12.el6.x86_64

第二个里程碑:进行软件服务配置

[root@backup tmp]# ll /etc/rsyncd.conf

ls: cannot access /etc/rsyncd.conf: No such file or directory

vim /etc/rsyncd.conf

#rsync_config

#created by HQ at 2017

##rsyncd.conf start##

 

uid = rsync

gid = rsync

use chroot = no

max connections = 200

timeout = 300

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

ignore errors

read only = false

list = false

hosts allow = 172.16.1.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password

[backup]

comment = "backup dir by oldboy"

path = /backup

 

第三个里程碑:创建rsync服务管理用户

useradd -s /sbin/nologin -M rsync

第四个里程碑:创建数据备份存储目录

mkdir /backup

[root@backup ~]# ll -d /backup/

drwxr-xr-x 2 root root 4096 Oct  6 03:15 /backup/

[root@backup ~]# chown -R rsync.rsync /backup/

[root@backup ~]# ll -d /backup/

drwxr-xr-x 2 rsync rsync 4096 Oct  6 03:15 /backup/

第五个里程碑:创建认证用户密码文件

echo "rsync_backup:oldboy123" >/etc/rsync.password

chmod 600 /etc/rsync.password

第六个里程碑:启动rsync服务

rsync --daemon

[root@backup ~]# ps -ef |grep rsync

root       4702      1  0 03:16 ?      

root       4710   3645  0 03:17 pts/0  

[root@backup ~]# netstat -lntup|grep rsy

tcp        0      0 0.0.0.0:873        

tcp        0      0 :::873 

至此:服务端配置完成

 

 第二部分:配置rsync客户端(架构中其他服务器称为)

第一个里程碑:软件是否存在

[root@backup ~]# rpm -qa rsync

rsync-3.0.6-12.el6.x86_64

第二个里程碑:建立认证文件

echo "oldboy123" >/etc/rsync.password

chmod 600 /etc/rsync.password

第三个里程碑:测试传输

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

交互式:rsync -avz /etc/hosts  rsync_backup@172.16.1.41::backup

非交互式:rsync -avz /etc/hosts  rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

2.3.2 常见问题

 问题01:

[root@nfs01 tmp]# rsync -avz /etc/hosts  rsync_backup@172.16.1.41::backup

Password:

sending incremental file list

hosts

rsync: mkstemp ".hosts.U5OCyR" (in backup) failed: Permission denied (13)

 

sent 200 bytes  received 27 bytes  13.76 bytes/sec

total size is 371  speedup is 1.63

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]

说明:备份目录权限设置不正确

2.4 rsync常用的参数

命令参数

 

参数说明

 

-v,--verbose

详细模式输出,传输时的信息

-z,-compress

传输时进行压缩以提高传输效率,--compress-level=NUM 可按级别压缩。局域网可以不用压缩

-a,--archive 重要

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

-r,--recursive归类于-a参数

对子目录以递归模式,即目录下的所有目录都同样传输,注意是小写r

-t,--time   归类于-a参数

保持文件时间信息

-o,--owner  归类于-a参数

保持文件属主信息

-p,--perms  归类于-a参数

保持文件权限

-g,--group  归类于-a参数

保持文件属组信息

-P,--progress

 

显示同步的过程及传输时的进度等信息

-D,--devices归类于-a参数

保持设备文件信息

-i,--links     归类于-a参数

保留软链接(小写字母1)

-e,--rsh = COMMAND

 

使用的信道协议(remote shell),指定替代rsh 的shell 程序。

例如: ssh

--exclude=PATTERN

 

指定排除不需要传输的文件信息(和tar 参数一样)。

--exclude-from = file

 

文件名所在的目录文件,即可以实现排除多个文件(和tar 参数一样)。

--bwlimit = RATE

 

limit I/O bandwidth; KBytes per second

limit socket I/O bandwidth 限速功能

案例:某DBA做数据同步,带宽占满,导致用户无法访问网站

--delete

 

让目标目录SRC 和源目录数据DST一致,即无差异同步数据。

保持同步目录及文件属性:

这里的-avzP 相当于-vzrtopgDIP(还多了DI 功能),生产环境常用的参数选项为-avzP 或-vzrtopgP

如果是放入脚本中,也可以把-V 和-P 去掉。这里的--progress 可以用-P 代替。

 

第3章 Rsync守护进程扩展实践

3.1 守护进程多模块功能配置

第一个里程碑:编写配置文件创建多模块信息

    vim /etc/rsyncd.conf

    [nfsdata01]

    comment = "nfsdata dir by oldboy"

    path = /nfsdata

    [nfsbackup01]                                                                                                           

    comment = "nfsbackup dir by oldboy"

    path = /nfsbackup

    第二里程碑:创建多模块指定存储目录,并进行授权

    mkdir -p /{nfsdata,nfsbackup}

    chown -R rsync.rsync /{nfsdata,nfsbackup}

    第三里程碑:利用rsync客户端进行测试

    rsync -avz /etc/services rsync_backup01@172.16.1.41::nfsdata01 --password-file=/etc/rsync.password

    rsync -avz /etc/services rsync_backup01@172.16.1.41::nfsbackup01 --password-file=/etc/rsync.password

说明:rsyncd.conf配置文件中,添加多模块信息,可以不用重启rsync服务,即时生效~

说明:全局变量参数针对所有模块生效;局部变量参数只针对指定模块生效

read only 参数默认配置为ture,即只读模式

3.2  守护进程的排除功能实践

   --exclude=要配置的目录或文件名称

   --exclude-from=要排除多个目录或文件汇总文件名称

   在配置文件中进行修改,指定要排除的信息

   

    # 利用exclude方式进行排除:

    第一个里程碑:创建模拟测试环境

    [root@nfs01 data]# mkdir {a..d} -p

    [root@nfs01 data]# ll

    total 16

    drwxr-xr-x 2 root root 4096 Oct 12 10:28 a

    drwxr-xr-x 2 root root 4096 Oct 12 10:28 b

    drwxr-xr-x 2 root root 4096 Oct 12 10:28 c

    drwxr-xr-x 2 root root 4096 Oct 12 10:28 d

    [root@nfs01 data]# touch {a..d}/{1..3}.txt

    [root@nfs01 data]# tree

    .

    ├── a

    │   ├── 1.txt

    │   ├── 2.txt

    │   └── 3.txt

    ├── b

    │   ├── 1.txt

    │   ├── 2.txt

    │   └── 3.txt

    ├── c

    │   ├── 1.txt

    │   ├── 2.txt

    │   └── 3.txt

    └── d

        ├── 1.txt

        ├── 2.txt

        └── 3.txt

   

    4 directories, 12 files

   

    第二里程:利用--exlude参数,测试排除功能

    需要:不要a目录中3.txt文件,不要b c目录

    [root@nfs01 data]# rsync -avz /data/ --exclude=a/3.txt --exclude=b --exclude=c  rsync_backup01@172.16.1.41::nfsdata01

    sending incremental file list

    ./

    a/

    a/1.txt

    a/2.txt

    d/

    d/1.txt

    d/2.txt

    d/3.txt

   

    sent 300 bytes  received 114 bytes  828.00 bytes/sec

    total size is 0  speedup is 0.00

    精简方式排除

    [root@nfs01 data]# rsync -avz /data/ --exclude=a/3.txt --exclude={b,c}  rsync_backup01@172.16.1.41::nfsdata01

    sending incremental file list

    ./

    a/

    a/1.txt

    a/2.txt

    d/

    d/1.txt

    d/2.txt

    d/3.txt

   

    sent 300 bytes  received 114 bytes  828.00 bytes/sec

    total size is 0  speedup is 0.00

 

    # 利用exclude-from方式进行排除:

    第一个里程碑:同上

    第二个里程碑:利用--exlude-from参数,测试排除功能

    编写排除文件信息

    [root@nfs01 data]# vim /tmp/exlude.txt

    a/3.txt                                                                                                                

    b

    c

    进行排除

    [root@nfs01 data]# rsync -avz /data/ --exclude-from=/tmp/exlude.txt  rsync_backup01@172.16.1.41::nfsdata01

    sending incremental file list

    ./

    a/

    a/1.txt

    a/2.txt

    d/

    d/1.txt

    d/2.txt

    d/3.txt

    说明:01. 排除文件中,需要利用相对路径指定排除信息(不能利用绝对路径)

          02. 相对路径指的是相对同步的目录信息而言,rsync -avz /data/ 后面的data目录进行相对

         

    # 在配置文件中进行修改,指定要排除的信息

    第一个里程碑:编写修改服务端配置文件

    vim /etc/rsyncd.conf

    [nfsdata01]

    comment = "nfsdata dir by oldboy"

    path = /nfsdata

    read only = false

    exclude = a/3.txt b c

    第二个里程碑:重启rsync服务(因为修改了局部变量)

    killall rsync && sleep 1 && rsync --daemon

    killall rsync;killall rsync;rsync --daemon

    第三个里程碑:客户端进行测试

    [root@nfs01 data]# rsync -avz /data/ rsync_backup01@172.16.1.41::nfsdata01

    sending incremental file list

    ./

    a/

    a/1.txt

    a/2.txt

    skipping daemon-excluded file "a/3.txt"

    skipping daemon-excluded directory "b"

    *** Skipping any contents from this failed directory ***

    skipping daemon-excluded directory "c"

    *** Skipping any contents from this failed directory ***

    d/

    d/1.txt

    d/2.txt

    d/3.txt

   

    sent 407 bytes  received 116 bytes  1046.00 bytes/sec

    total size is 0  speedup is 0.00

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]

3.3 守护进程来创建备份目录

第一个里程碑:通过客户端命令创建服务端备份目录中子目录

    [root@nfs01 backup]# rsync -avz /etc/services rsync_backup01@172.16.1.41::data/sa/

    sending incremental file list

    created directory sa

    services

   

    sent 127417 bytes  received 27 bytes  254888.00 bytes/sec

    total size is 641020  speedup is 5.03

    [root@nfs01 backup]# rsync -avz /etc/services rsync_backup01@172.16.1.41::data/dev/

    sending incremental file list

    created directory dev

    services

   

    sent 127417 bytes  received 27 bytes  254888.00 bytes/sec

    total size is 641020  speedup is 5.03

    [root@nfs01 backup]# rsync -avz /etc/services rsync_backup01@172.16.1.41::data/dba/

    sending incremental file list

    created directory dba

    services

   

    sent 127417 bytes  received 27 bytes  254888.00 bytes/sec

    total size is 641020  speedup is 5.03

    说明:a 目标目录名称后要加上 "/", 表示创建目录,否则变为修改传输文件名称了

          b 利用客户端创建服务备份子目录时,只能创建一级子目录。

3.4 守护进程的访问控制配置

第一个里程碑:在服务端配置文件,编写白名单策略或黑名单策略(只能取其一)

    vim /etc/rsyncd.conf

    hosts allow = 172.16.1.0/24

    #hosts deny = 0.0.0.0/32

    说明:01. 白名单和黑名单同时存在时,默认控制策略为不匹配的传输数据信息全部放行

          02. 白名单单一存在时,默认控制策略为不匹配的传输数据信息全部禁止

          03. 黑名单单一存在时,默认控制策略为不匹配的传输数据信息全部放行

          全局变量修改控制策略信息,rsync服务必须重启  

    第二个里程碑:客户端进行测试

    [root@nfs01 backup]# rsync -avz /etc/services rsync_backup01@10.0.0.41::data

    @ERROR: Unknown module 'data'

    rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]

    [root@nfs01 backup]# rsync -avz /etc/services rsync_backup01@172.16.1.41::data

    sending incremental file list

   

    sent 29 bytes  received 8 bytes  74.00 bytes/sec

    total size is 641020  speedup is 17324.86

 

 

3.5 守护进程无差异同步配置

 

什么是无差异:

 推模式:我又什么,你就有什么;我没有,你也不能有

 拉模式:你有什么,我就有什么;你没有,我也不能有

总结:服务端客户端数据完全一致(一模一样)

   

    实现无差异同步方法:

    第一个里程碑:创建实验环境

    [root@nfs01 backup]# cd /data/

    [root@nfs01 data]# ll

    total 16

    drwxr-xr-x 2 root root 4096 Oct 12 10:29 a

    drwxr-xr-x 2 root root 4096 Oct 12 10:41 b

    drwxr-xr-x 2 root root 4096 Oct 12 10:29 c

    drwxr-xr-x 2 root root 4096 Oct 12 10:29 d

   

    第二个里程:进行第一次数据同步

    [root@nfs01 data]# rsync -avz --delete  /data/ rsync_backup01@172.16.1.41::data

    sending incremental file list

    ./

    a/

    a/1.txt

    a/2.txt

    a/3.txt

    b/

    b/1.txt

    b/2.txt

    b/3.txt

    c/

    c/1.txt

    c/2.txt

    c/3.txt

    d/

    d/1.txt

    d/2.txt

    d/3.txt

   

    sent 669 bytes  received 255 bytes  1848.00 bytes/sec

    total size is 0  speedup is 0.00

   

    第三个里程:删除指定目录,并添加指定文件,测试无差异功能

    [root@nfs01 data]# rsync -avz --delete  /data/ rsync_backup01@172.16.1.41::data

    sending incremental file list

    ./

    deleting a/3.txt

    deleting a/2.txt

    deleting a/1.txt

    deleting a/

    oldboy.txt

   

    sent 244 bytes  received 33 bytes  554.00 bytes/sec

    total size is 0  speedup is 0.00

 

    应用:01. 实现存储数据与备份数据完全一致(慎用)

              rsync -avz --delete rsync_backup01@172.16.1.41::data /   --可能把根内容清空

          02. 快速删除大文件数据

              mkdir /null  --创建出一个空目录

              rsync -avz --delete /null/ /bigdata/ 删除效率高于 rm -rf /bigdata

 

3.6 守护进程的列表功能配置

第一个里程碑:在服务端配置文件中开启list列表功能

    vim /etc/rsyncd.conf

    list = true

    第二个里程碑:重启rsync服务

    第三个里程碑:客户端进行查看服务端模块信息

    rsync rsync_backup@172.16.1.41::

    data                "data dir by oldboy"

    nfsdata01             "nfsdata dir by oldboy"

    nfsbackup01          "nfsbackup dir by oldboy"

    说明:为了提升备份服务器安全性,建议关闭list列表功能

posted @ 2018-10-11 16:34  巴黎斜塔  阅读(202)  评论(0编辑  收藏  举报