码迷,mamicode.com
首页 > 其他好文 > 详细

5月14日

时间:2018-05-15 17:40:46      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:linux

10.28 rsync工具介绍


1. rsync工具介绍

rsync是数据备份工具(字面意思可以理解为远程同步),不仅可以远程同步数据,而且可以本地同步数据(类似与cp),但不同于cp或scp的一点是,它不会覆盖以前的数据(如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖。

1.1 安装rsync命令yum install -y rsync

2.rsync的用法举例:

/etc/passwd同步到/tmp/目录下,并改名为1.txt,操作如下

命令:rsync -av /etc/passwd /tmp/1.txt

技术分享图片 

2.1 远程复制,数据备份的形式就是这样的形式user@IP:path,比如root@47.97.163.117:/tmp 如下:

命令:rsync -av /tmp/1.txt  root@47.97.163.117:/tmp/2.txt

技术分享图片 

3. rsync格式: 

rsync [OPTION] … SRC(源文件) DEST(目标文件) 

rsync [OPTION] … SRC [user@]host:DEST 

rsync [OPTION] … [user@]host:SRC DEST 

rsync [OPTION] … SRC [user@]host::DEST 

rsync [OPTION] … [user@]host::SRC DEST

在前面的例子中,第一个例子为第一种格式,第二个例子为第二种格式,但不同的是并没有加用户名user@host,如果不加默认指的是root。第三种格式是用远程目录同步数据到本地。第四种和第五种格式使用了两个冒号,这种格式和其他格式的验证方式不同。

 

10.29-10.30 rsync常用选项


1. rsync常用选项

-a 这是归档模式,表示以递归方式传输文件,并保持所有属性,它等同于-rlptgoD-a选项后面可以跟一个--no-OPTION,表示关闭-rlptgoD中的某一个,比如-a--no-l等同于-rlptgoD -r 表示以递归模式处理子目录。它主要是针对目录来说的,如果单独传一个文件不需要加-r选项,但是传输目录时必须加。 -v 表示打印一些信息,如文件列表,文件数量等 -l 表示保留软链接 -L 表示像对待常规文件一样处理软链接,如果SRC文件中有软链接时,则加上该选项后,将会把软链接指向的目标文件一起复制到DEST -p 表示保持文件权限 -o 表示保持文件属主信息 -g 表示保持文件属组信息 -D 表示保持设备文件信息 -t 表示保持文件时间信息 --delete 表示删除DESTSRC中没有的文件 --exclude=PATTERN 表示指定排除SRC中不需要传输的文件,等号后面跟文件名,可以用通配符如*.txt --progress 在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、同步的文件传输速度等。 -u 表示把dest中比src还新的文件排除掉,不会覆盖 -z 加上该选项,将会在传输过程中压缩

常用的选项是-a-v-z--delete--exclude

1.1 准备实验的目录和文件

技术分享图片 

 

技术分享图片 

1.2 -av选项 把root下的rsync目录同步到tmp下并且改名rsync_dest,示例如下

命令:rsync -av /root/rsync/ /tmp/rsync_dest/

技术分享图片 

1.2.1 加上-L选项后,同步软连接文件时会把源文件同步,示例如下:

命令:rsync -avL /root/rsync/ /tmp/rsync_dest/

技术分享图片 

1.3 --delete 同步时删除目标目录rsync_dest中源目录rsync没有的文件,示例如下

命令:rsync -avL --delete /root/rsync/ /tmp/rsync_dest/

技术分享图片 

1.4 --exclude过滤指定文件,同步时过滤掉文件名或目录名为.txt,不同步(支持写多个exclude,但不支持同一个exclude有多个条件),示例如下:

命令:rsync -avL --exclude "*.txt“  /root/rsync/ /tmp/rsync_dest/

技术分享图片 

1.4.1 过滤掉带1开头,多选项如下:

命令:rsync -avL --exclude "*.txt" --excelude "1" /root/rsync/ /tmp/rsync_dest/

1.5 -P选项显示同步过程,比如速率,比-v更加详细 如下:

命令:rsync -avP /root/rsync/ /tmp/rsync_dest/

技术分享图片 

1.6 -u 选项如果目标文件中的文件比源文件新则不同步,示例如下

命令:rsync -avPu /root/rsync/ /tmp/rsync_dest/

技术分享图片 


10.31 rsync通过ssh同步

1. rsync通过ssh同步

 1.1 ssh同步到另外一台主机(从本机拷贝到远程主机)

命令:rsync -av /etc/passwd 47.97.163.117:/tmp/cfk.txt

技术分享图片 

1.2 反过来把远程主机数据拷贝到本机

命令:rsync -avP 47.97.163.117:tmp/cfk.txt /tmp/123.txt

技术分享图片 

1.3 如果对方机器端口不是22的话,那应该如何,示例如下

命令:rsync -avP -e "ssh -p 22" /etc/passwd  47.97.163.117:/tmp/cfk.txt

技术分享图片 

 


5月14日

标签:linux

原文地址:http://blog.51cto.com/404006045/2116331

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!