Rsync参数介绍

 

一、Rsync

Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据镜像同步备份的优秀工具。rsync适用于unix/linux/windows等多种操作系统平台。

http://www.samba.org/ftp/rsync/rsync.html

Rsync全称为remote rynchronization,rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似于scp命令,但优于scp。还可以在本地主机的不同分区或目录之间全量及增量的复制数据,这类似于cp命令,同样也优于cp命令。

rsync还可以实现类似rm的删除功能

rsync的特性

支持拷贝特殊文件如链接,设备等

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

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

可实现增量同步,既只同步发生变化的数据,因此数据传输效率很高。

可使用rcp,rsh,ssh等方式来配合传输文件

可以通过socket(进程方式)传输文件和数据

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

二、Rsync命令同步参数选项

rsync [OPTION…] SRC… [DEST]

常用参数选项说明:

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

-z  --compress 传输时进行压缩以提高传输效率

-r  --recursive 对子目录以递归模式

-t  --time  保持文件时间信息

-o   --owner 保持文件属主信息

-p   --perms 保持文件权限

-g   --group  保持文件属组信息

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

-a   --archive  归档模式,等于-rtopgDl

-D   --devices 保持设备文件信息

-l    --links保留软链接

-e     --rsh=COMMAND 使用的信协议,如ssh

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

三、rsync大致使用三种主要的传输数据的方式:

主机本地间的数据传输(此类似于cp命令的功能)

借助rcp,ssh等通道来传输数据(此类似于scp命令的功能)

以守护进程(socket)的方式传输数据(这个是rsync的重要的功能)

  1. 本地数据传输模式(local-only mode)

语法:rsync [OPTION…] SRC… [DEST]

1) rsync为同步的命令

2) [OPTION..]为同步时的参数选项

3) SRC为源目录、分区或文件

4) [DEST]为目的分区、文件或目录等

实例1:把系统的hosts文件同步到/opt目录

[root@58server1 ~]# rsync /etc/hosts /opt

实例2:把opt目录拷贝到/mnt下

[root@58server1 ~]# rsync -avz /opt /mnt/

提示:在上面例子中,/opt/和/opt 仅差一个/意义就不大相同,/opt/把/opt/目录里面的内容同步,opt目录本身并不同步,而后者/opt 表示把opt目录本身及里面的内容全都同步到/tmp下

  1. 通过远程shell进行数据传输(remote shell mode)

通过远程shell (rcp、ssh等)传输可以分为两种情况,其语法分别为

拉取 pull: rsync [OPTION…] [USER@]HOST:SRC… [DEST]

推送 push: rsync [OPTION…] SRC… [USER@]HOST:DEST

1) Rsync为同步的命令

2) [OPTION..]为同步时的参数选项

3) [USER@]HOST为Rsync同步的远程连接用户和主机地址

4) SRC为源分区、文件或目录等,和HOST之间用一个冒号连接

5) [DEST]为目的分区、文件或目录等

其中拉取表示同远端主机把数据同步到执行命令的本地主机相应目录;推送表示从本地主机执行命令把本地的数据同步到远端主机指定目录下。
拉取实例:

rsync -avzP -e "ssh -p22" root@192.168.1.111:/opt /tmp

推送实例:

rsync -avzP /tmp -e "ssh -p22" root@192.168.1.111:/opt

语法说明:

1)-vzrtopg 相当于上文伯-avz 表示同步时文件和目录属性不变

2)--progress显示同步的过程,可以用-P替换

3)-e “ssh -p 22” 表示通过ssh的通道传输数据

4)root@192.168.1.111:/opt 是远程的主机用户,地址和路径

5)/tmp 本地的路径

配置ssh key密钥实现数据免登陆验证

[root@64server1 .ssh]# ssh-keygen -t dsa

[root@64server1 .ssh]# ssh-copy-id -i  id_dsa.pub 192.168.1.111

#!/bin/sh

. /etc/init.d/functions

file="$1"

remote_dir="$2"

if [ $# -ne 2 ];then

echo "usage:$0 argv1 argv2"

echo "must have two argvs."

exit

fi

for ip in $(cat /home/scripts/iplist.txt)

do

# scp -P22 -r -p $file root@$ip:~ >/dev/null 2>&1 &&\

#ssh -p22 -t root@$ip sudo rsync ~/$file $remote_dir >/dev/null 2>&1

rsync -avzP $1 -e "ssh -p 22" root@$ip:$2 >/dev/null 2>&1

if [ $? -eq 0 ];then

action "$ip is successful." /bin/true

else

action "$ip is failure." /bin/false

fi

done

Rsync参数介绍的更多相关文章

  1. rsync的介绍及参数详解,配置步骤,工作模式介绍

    rsync的介绍及参数详解,配置步骤,工作模式介绍 rsync是类unix系统下的数据镜像备份工具.它是快速增量备份.全量备份工具. Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主 ...

  2. Rsync服务介绍与配置

    Rsync 简要介绍 rsync 是一个用于增量文件传输的开源工具,不得不说,rsync简直是不同服务器间传输文件.同步文件的利器.与FTP相比,它具有非常简单的安装和配置方法.而且,rsync可以只 ...

  3. rsync工具介绍

    rsync工具介绍 http://man.linuxde.net/rsync rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的“rsync算法” ...

  4. Linux操作系统的文件查找工具locate和find命令常用参数介绍

    Linux操作系统的文件查找工具locate和find命令常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.非实时查找(数据库查找)locate工具  locate命 ...

  5. SQLMAP参数介绍

    转自:http://zhan.renren.com/bugpower?gid=3602888498044629629&checked=true SQLMAP参数介绍 sqlmap的使用方式:p ...

  6. G++ 参数介绍(转载)

    g++参数介绍 From: http://www.cnblogs.com/lidan/archive/2011/05/25/2239517.html gcc and g++分别是gnu的c & ...

  7. pentaho cde 画图参数介绍

    初步接触pentaho,由于在国内的资料很少,唯有看英文文档,做了N次反复尝试,挖掘了pentaho CDE中画图的一些基本参数. 下面就列出来了一些常用参数介绍: crosstabMode:表明如果 ...

  8. mysql性能优化学习笔记-参数介绍及优化建议

    MySQL服务器参数介绍 mysql参数介绍(客户端中执行),尽量只修改session级别的参数. 全局参数(新连接的session才会生效,原有已经连接的session不生效) set global ...

  9. 【体系结构】Oracle参数介绍

    [体系结构]Oracle参数介绍 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩ ...

随机推荐

  1. Android 调用相机、相册功能

    清单文件中增加对应权限,动态申请权限(此部分请参考Android 动态申请权限,在此不作为重点描述) private static final int REQUEST_CODE_ALBUM = 100 ...

  2. iOS多选实现注意点

    下面对APP的多选选择列表实现进行总结,为了在以后的每个项目的多选实现,测试总是提一样的bug总结的. 具体的实现代码就不复制粘贴了,不过在多选问题上遇到问题的可以我们一起讨论讨论的哈... 可能总结 ...

  3. $q服务——angular

    $q是做为angular的一个服务而存在的,只是对promise异步编程模式的一个简化实现版,源码中剔除注释实现代码也就二百多行,下面开始介绍$q的API. 一.defer对象(延迟对象)可以通$q. ...

  4. LeetCode.1047-重复删除字符串中的所有相邻重复项

    这是小川的第389次更新,第419篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第251题(顺位题号是1047).给定一个小写字母的字符串S,重复删除两个相邻且相等的字母 ...

  5. LeetCode.1002-寻找共有字符(Find Common Characters)

    这是悦乐书的第375次更新,第402篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第236题(顺位题号是1002).给定仅由小写字母组成的字符串A,返回列表中所有字符串都 ...

  6. 解决某些软件无法在parallels desktop虚拟机下运行

    步骤1.打开注册表,点开始菜单,点运行,输入regedit.exe后回车 步骤2.找到HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System 步骤3.找到右边的V ...

  7. C#各种委托介绍

    委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 一.委托的声明 Delegate Delegate 我们常用到的一种声明 Delegate 至少 ...

  8. 一、Kubernetes_V1.10集群部署-master-生成证书

    一.证书生成 1.下载cfssl mkdir -p /etc/kubernetes/sslwget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 wget ...

  9. [转帖]数据库默认驱动、URL、端口

    超详细的各种数据库默认驱动.URL.端口总结 http://database.51cto.com/art/201906/598043.htm 学习了解一下.  概述 今天主要对各种数据库默认端口和UR ...

  10. Integer类的常量池