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. Web04_JavaScript

    String对象 match()找到一个或多个正则表达式的匹配 substr()从起始索引号提取字符串中指定数目的字符 substring()提取字符串中两个指定的索引号之间的字符 <!DOCT ...

  2. runoob_Java 序列化

    Java 序列化 Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据.有关对象的类型的信息和存储在对象中数据的类型. 将序列化对象写入文件之后 ...

  3. 【HTML5】页面点击按钮添加一行 删除一行 全选 反选 全不选

    页面点击按钮添加一行    删除一行   全选   反选  全不选 页面效果图如下 html页面代码 <!DOCTYPE html> <html> <head> & ...

  4. ABAP的smartform赋值

    添加文本后, 在输出选项中指定行/列

  5. mesh重叠闪烁问题

    我用正交摄像机做了2d游戏,但是导出spine动画文件是个mesh ,在游戏里有时会出现2个Mesh来回切换显示顺序问题,导致闪烁 查了下并没有发现什么解决方案 后面突然发现只要将摄像机的Y轴偏移一点 ...

  6. htc 手机

    是否解锁locked unlocked 然后刷入REC

  7. tableau分布式添加节点

    参考: 两节点的安装:https://zhuanlan.zhihu.com/p/44732932https://help.tableau.com/current/server-linux/zh-cn/ ...

  8. nodejs版本控制:nvm use命令失效

    Downloading npm version ... Download failed. Rolling Back. Rollback failed. remove C:\Users\Administ ...

  9. noip2011day2-观光公交

    题目描述 风景迷人的小城 \(Y\) 市,拥有 $n $个美丽的景点. 由于慕名而来的游客越来越多,\(Y\) 市特 意安排了一辆观光公交车,为游客提供更便捷的交通服务. 观光公交车在第 \(0\) ...

  10. C++中前置操作符和后置操作符的重载

    1,C 语言中讨论了原生含义,C++ 中有必要考虑前置.后置操作符能够重载,有何问题: 2,值得思考的问题: 1,下面的代码有没有区别?为什么? 1,i++  // i 的值作为返回值,i 自增 1: ...