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. cento7忘记root密码怎么办

    1.首先开启系统,一直按 e 键 进入编辑选项 2.光标下移,在UTF-8行这一段修改两处,首相找到ro改为rw,即只读改为可读写权限:然后在这段的尾部加入 init=/bin/sh 3.此时按住Ct ...

  2. 修改主机名、hosts解析记录

    .hostname和hosts的区别 /etc/hostname中存放的是主机名 /etc/hosts存放的是域名与ip的对应关系 .修改主机名 需要下面两个步骤的结合才可以 2.1.修改网络主机名 ...

  3. plsql连接本地oracle数据库,而远程主机却无法连接,出现无监听程序的解决方法(转)

    原文转自:plsql连接本地oracle数据库,而远程主机却无法连接,出现无监听程序的解决方法 最近在使用plsql连接本地oracle数据库的时候,在同一网络环境中,出现了可以连接本地oracle, ...

  4. Swift 发送邮件和附件

    public function send($filename, array $render = [],$subject = '审核通知') { // Create the Transport $tra ...

  5. Pytorch笔记 (3) 科学计算1

    一.张量 标量 可以看作是  零维张量 向量 可以看作是  一维张量 矩阵 可以看作是  二维张量 继续扩展数据的维度,可以得到更高维度的张量 ————>  张量又称 多维数组 给定一个张量数据 ...

  6. 【HTTP】四、HTTP协议常见问题

      HTTP协议是一个非常重要的应用层协议,在面试中有很多关于这方面的问题,这里做一个总结,大部分都在前面的文章中提到了,没提到的这里做一个介绍. 1.HTTP协议的基本原理.工作流程   HTTP协 ...

  7. 关于多线程efcore dbcontext 的解决方案。

    首先我们大部分的efcore框架用的DbContext(或者封装的repo)都是底层注入的上下文容器实体. 然后Dbcontext不是线程安全的,也就是说,你在当前线程中,只能创建一个 DbConte ...

  8. 使用graphics.h来绘制图形

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. graphics.h是TC里面的图形库,如果要用的话应该用TC来编译.分为:像素函数.直线和线型函数.多边形函数.填充函数等.然而在我们使 ...

  9. LayaAir疑难杂症之四:laya引擎自动断点到bundle.js文件中且无报错,但程序不再执行

    在一次断点调试中,突然程序不再按照博主指定的断点执行,莫名其妙端点到了bundle.js文件中的某一行中,这是不应该的,第一次时间反应就是引擎出了问题,但是总不能让博主卸载重装吧. 经过查找资料,询问 ...

  10. js知识点——1

    onload 事件会在页面或图像加载完成后立即发生. document.write("内容")将在加载页面时输出 内容可以是什么,可以是一个标签,它输出的文件不能自动换行: < ...