数据同步--rsync

rsync介绍linux

Rsync 是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具,而且能够不进行改变原有数据的属性信息,实现数据的备份迁移特性。Rsync软件适用于unix/linux/windows等多种操做系统平台shell

rsync命令做用
windows

rsync中有/和没有/的目录,是不同的概念:服务器

         例:rsync /data表示查看这个目录ssh

                rsync /data/ 表示查看这个目录下的东西ide

rsync==cp 、 scp、 rm、 ls工具

cp命令
spa

[root@backup ~]# cp -rp /etc/hosts /tmp/
操作系统

rsync 复制目录的时候,好比复制的是data目录unix

rsync -r data /tmp :data目录后面没有/,表示目录自己及目录下内容进行复制到/tmp目录下

rsync -r data/ /tmp :data目录后面有/ 表示只复制目录下的内容到/tmp目录下

scp命令

[root@backup ~]# scp -rp data10.0.0.31:/tmp/

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

[root@backup ~]# rsync -rp data10.0.0.31:/tmp

root@10.0.0.31's password:

rm删除命令

[root@backup ~]# rm -f data/*

[root@backup ~]# ll data

total 0

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

[root@backup ~]# rsync -r --delete data/ /tmp/

[root@backup ~]# ll /tmp/

total 0

ls命令

[root@backup ~]# # 查看文件信息命令ls

[root@backup ~]# rsync /tmp/

drwxrwxrwt4096 2017/05/04 09:21:42 .

[root@backup ~]# rsync /etc/

drwxr-xr-x4096 2017/05/04 09:07:46 .

-rw-------           0 2017/03/08 12:03:35 .pwd.lock

-rw-r--r--4439 2016/04/12 15:56:23 DIR_COLORS

-rw-r--r--5139 2016/04/12 15:56:23 DIR_COLORS.256color

-rw-r--r--4113 2016/04/12 15:56:23 DIR_COLORS.lightbgcolor

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

[root@backup ~]# rsync 10.0.0.31:/tmp     ###查看远程主机上的目录属性信息

root@10.0.0.31's password:

drwxrwxrwt4096 2017/05/04 09:17:06 tmp

[root@backup ~]# rsync 10.0.0.31:/tmp/    ###查看远程主机上的目录中文件的属性信息

 

root@10.0.0.31's password:

drwxrwxrwt4096 2017/05/04 09:17:06 .

-rw-------           0 2017/05/02 11:29:38 yum.log

drwxrwxrwt4096 2017/05/03 21:06:50 .ICE-unix

drwxr-xr-x4096 2017/05/04 09:17:06 data


rsync增量复制和全量复制特性说明

全量:全部数据,无论是否已经存在,都从新复制一遍

增量:全部数据,只复制进行变化的数据,已经存在未发生变化的数据不进行复制

rsync软件特色

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

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

rsync工做应用场景

定时任务+rsync方式

全网数据备份方案(备份、验证、通知)

备份服务器单点服务器单点问题(多个备份服务器、同城灾备、异地灾备)

实时同步+rsync方式

用户上传的数据信息,进行实时的备份

rsync软件参数

 --delete            实现无差别数据同步

 --bwlimit=RATE    实现数据传输过程当中的限速默认单位KB

命令参数

参数说明

-v, --verbose

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

-z, --compress

传输时进行压缩以提升传输效率,--compress-level=NUM 可按级别压缩

-a, --archive(重要)

归档模式,表示以递归方式传输文件,并保持全部文件属性,等于-rtopgDl

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

对子目录以递归模式,即目录下的全部目录都一样传输。

-t, --times     归类-a参数

保持文件时间信息

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

保持文件属主信息

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

保持文件权限

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

保持文件属组信息

-P,--progress

显示同步的过程及传输时的进度等信息(大写P)

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

保持设备文件信息

-l,--links     归类-a参数

保留软连接(小写字母L)

-e,--rsh=COMMAND

使用的通讯协议(remote shell),指定替代rsh的shell程序。例如:ssh

--exclude=PATTERN

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

--exclude-from=file

文件名所在的目录文件,既能够实现排除多个文件(和rar参数同样)

--bwlimit=PATE

能够实现限速功能。单位KB

--delete

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

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


这里的-avzP至关于-vzrtopgDlP(还多了Dl功能),生产环境经常使用的参数选项为-avzP或-vzrtopgP.若是是放入脚本中,也能够吧-v和-P去掉。这里的--progress能够用-P代替

 rsync软件工做方式

本地复制方式

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

---------------------------------------+

[root@backup backup]# rsync /etc/hosts /tmp   ###使用方法和cp同样

[root@backup backup]# ll /tmp

total 12

-rw-r--r--1 root root  331 May  6 19:23 hosts

隧道传输方式

判断文件没有变化,根据增量同步原理,不进行数据传送

Access via remote shell:

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

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

--------------------------------------------+

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

root@10.0.0.31's password:

[root@backup ~]# rsync -rp -e "ssh -p 22" /etc/hosts  root@10.0.0.31:/tmp   ##-e指定协议及端口

root@10.0.0.31's password:

---------------------------------------------------------+

# rsync -avzP-e 'ssh -p 22' /etc/hostsroot@172.16.1.31:/opt

root@172.16.1.31's password:

sending incremental file list

 

sent 30 bytesreceived 12 bytes  12.00 bytes/sec

total size is 324speedup is 7.71

判断文件发生变化,根据增量同步原理,进行数据传送

 

[root@backup ~]# rsync -avzP  -e 'ssh -p 22' /etc/hosts   root@172.16.1.31:/opt

ot@172.16.1.31's password:

sending incremental file list

hosts

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

 

sent 202 bytesreceived 37 bytes  68.29 bytes/sec

total size is 326speedup is 1.36

 

[root@backup ~]# rsync -avz  -e 'ssh -p 22' /etc/hosts   root@172.16.1.31:/opt

root@172.16.1.31's password:

sending incremental file list

hosts

 

sent 202 bytesreceived 37 bytes  20.78 bytes/sec

total size is 325speedup is 1.36

守护进程方式

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

--------------------------------------------------------------+

###须要进行配置才可使用守护进程的方式配置方法在下面

[root@nfs01 ~]# rsync -avzP /etc/hosts rsync_backup@172.16.1.41::backup

Password:

sending incremental file list

hosts

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

 

sent 199 bytesreceived 27 bytes  41.09 bytes/sec

total size is 323speedup is 1.43

后续内容,下章见分晓

相关文章
相关标签/搜索