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. java:容器/集合(Map(HashMap,TreeMap)Collection和Collections,(Collection-value();)

    *Map接口:采用是键值对的方式存放数据.无序 HashMap: *常见的实现类: *--HashMap:基于哈希表的 Map 接口的实现. *常用的构造方法: * HashMap()构造一个具有默认 ...

  2. 龙芯软硬件培训个人总结-day1

    第一天主要针对的硬件设计,推他们年底要量产的3A4000+7A1000.这里我只记录下自己关注的几个点. 1,3A4000/3B4000处理器 支持256位向量指令:    对处理器封装进行了优化,不 ...

  3. Cocos2d-X多线程(1) 在cocos2d-x中使用多线程

    教科书上说:进程是资源分配的最小单位,线程是CPU调度的最小单位. 进程是程序在计算机上的一次执行活动.直观的讲就是会产生一个pid. int main() {     //业务逻辑代码     re ...

  4. 【VS开发】win7下让程序默认以管理员身份运行

    在win7中用自己写的程序读取MBR时,突然提示无法对磁盘进行操作,而在xp下并没有这个问题:最后点右键以管理员身份运行才可以正常运行.于是想办法让程序在双击启动时默认以管理员身份运行.具体方法: 1 ...

  5. IDEA github 上传项目, 拉取, 删除

    1.IDEA登录github账号 settings -> Version Controller -> GitHub 用户名密码登录 或token登录都可以 2.VCS -> impo ...

  6. Python 爬取SeeBug poc

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2017-08-24 21:42:52 # @Author : EnderZhou (z ...

  7. C语言作业08

    问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://i.cnblogs.com/EditPosts.aspx?opt=1 我在这个课程的目标是 在学好C语言编程的 ...

  8. tableau分布式添加节点

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

  9. 小记---------linux远程连接集群内其他机器mysql库

    mysql -h -u maxwell -p#10.0.15.145 远程机器ip#-P 注意是大写P 端口#-u 用户#-p 密码

  10. you_are_the_one(区间dp)

    You Are the One Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...