N天学习一个linux命令之rsync
用途
主要用于本地和远程主机同步文件
特性
1 使用增量传输算法(delta-transfer algorithm)
2 支持ssh,rsync协议
3 可以用于本地同步文件
4 本地和远程主机都需要安装rsync命令
用法
本地同步
rsync [OPTION...] SRC... [DEST]
远程同步
# ssh
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
# rsync
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
常用选项
--help
显示帮助信息
--version
显示命令版本
-v, --verbose
输出更加详细的信息
-q, --quiet
尽可能少输出信息
-I, --ignore-times
默认情况下,rsync会忽略文件大小一样且修改时间相同的文件,这样可以提高检查速度。带上这个参数会每次都检查
--size-only
默认情况下会检查文件大小和最后修改时间,这个参数告诉程序只检查大小,适应于没有时间戳的场景
-c, --checksum
使用校验和比较文件差异
-a, --archive
跟-rlptgoD这些选项一样的意思,递归整个目录,保持文件属性,不包含硬链接文件
--no-OPTION
关闭OPTION选项,前后顺序很重要
-r, --recursive
递归复制
-R, --relative
使用相对路径,发送方整个路径都会包含
--no-implied-dirs
排除链接
-b, --backup
备份
--backup-dir=DIR
设置备份目录
--suffix=SUFFIX
备份文件后缀,默认是~
-u, --update
忽略那些已存在且文件修改时间戳比发送方还新的文件
-l, --links
重新创建软链
-L, --copy-links
复制软链指向的文件
--copy-unsafe-links
复制软链,不管有没有包含在被复制的目录里
--safe-links
不复制目录树外的软链
-k, --copy-dirlinks
软链当做目录处理
-K, --keep-dirlinks
-H, --hard-links
-p, --perms
保留权限
--existing, --ignore-non-existing
不同步新文件
--ignore-existing
不同步已存在的文件
--delete
删除不存在的文件
--delete-excluded
删除指定的文件
--ignore-errors
忽略错误
--max-size=SIZE
指定最大的传输文件大小,超过了不同步
--min-size=SIZE
指定最小的传输文件大小,小于不同步
--rsync-path=PROGRAM
指定远程服务器执行的程序路径
--exclude=PATTERN
需要排除的文件
--include=PATTERN
指定同步的文件
--files-from=FILE
从FILE文件读取需要同步的文件列表
-s, --protect-args
不转义参数,不展开参数
-z, --compress
传输时压缩数据
--skip-compress=LIST
不需要压缩的文件扩展名列表,多个使用/分隔
--stats
显示统计信息
-h, --human-readable
人类可读方式格式化
--partial
开启断点续传
--partial-dir=DIR
--progress
显示进度
--list-only
只显示,不同步
--bwlimit=KBPS
指定传输最大的速率,单位(a maximum transfer rate in kilobytes per second)
-n, --dry-run
尝试运行,不做实际的改变
-e
指定远程通讯使用的shell,默认是ssh
实践
1 本地同步lua-5.3.4目录下所有.c,.h扩展名的文件到本地目录lua-test
[root@vm ~]# rsync -avz --include=*/ --include=*.c --include=*.h --exclude=* lua-5.3.4/ lua-test
2 本地同步lua-5.3.4目录下的所有目录(不包含文件)到本地目录lua-test
[root@vm ~]# rsync -avz --include=*/ --exclude=* lua-5.3.4/ lua-test
3 本地目录lua-5.3.4同步到远程主机wadeyu家目录
rsync -avz -e 'ssh -p 22' lua-5.3.4 wadeyu@192.168.2.8:~
4 远程同步到本地
rsync -avz -e 'ssh -p 22' wadeyu@192.168.2.8:~/lua-5.3.4/ ./lua-5.3.4-test
参考资料
【1】man rsync
【2】rsync 精确同步文件用法
https://blog.csdn.net/knight_zhen/article/details/47109077
N天学习一个linux命令之rsync的更多相关文章
- N天学习一个Linux命令之帮助命令:man
前言 工作中每天都在使用常用的命令和非常用的命令,忘记了用法或者参数,都会bing一下,然后如此循环.一直没有真正的系统的深入的去了解命令的用法,我决定打破它.以前看到有人,每天学习一个linux命令 ...
- N天学习一个Linux命令之free
用途 查看系统内存(物理/虚拟/缓存/共享)使用情况 用法 free [-b | -k | -m | -g | -h] [-o] [-s delay ] [-c count ] [-a] [-t] [ ...
- N天学习一个linux命令之ping
用途 检测主机是否可到达,也就是说,目标主机是否可以联网,还可以用于检测网速.通过发送ICMP ECHO_REQUEST数据包检测. 用法 ping [options] destination 常用选 ...
- N天学习一个linux命令之kill
用途 用于终止进程 用法 kill [-s signal|-p] [--] pid... kill -l [signal] 说明 1.默认发送信号15(请求终止进程,程序可以捕获,操作系统会杀死没有对 ...
- N天学习一个linux命令之du
用途 统计文件或者目录占用硬盘空间大小 用法 du [OPTION] [FILE]du [OPTION] --files0-from=F 常用参数 -a, --all统计所有文件,不仅仅是目录 -b, ...
- N天学习一个linux命令之scp
用途 通过ssh通道,不同主机之间复制文件 用法 scp [options] [user@host:]file1 [user2@host2:]file2 常用参数 -1使用 ssh 1协议 -2使用s ...
- 每天学习一个Linux命令-目录
在工作中总会零零散散使用到各种Linux命令,从今天开始详细的学习一下linux常用命令,坚持每天一个命令,学习的主要参考资料为: 1.竹子-博客(https://www.cnblogs.com/pe ...
- N天学习一个linux命令之umask
前言 umask不是linux命令,而是shell内置的指令,俗称用户权限掩码,用于对用户创建的文件和目录设置默认权限.默认的权限掩码是0022,也就是说新创建的文件权限是0644,新创建的目录权限是 ...
- N天学习一个linux命令之ip
用途 show / manipulate routing, devices, policy routing and tunnels 用法 通用格式 ip [ OPTIONS ] OBJECT { CO ...
随机推荐
- P4046 [JSOI2010]快递服务
传送门 很容易想出\(O(n^3m)\)的方程,三维分别表示某个快递员现在在哪里,然后直接递推即可 然而这样会T,考虑怎么优化.我们发现每一天的时候都有一个快递员的位置是确定的,即在前一天要到的位置. ...
- SpringBoot集成Redis来实现缓存技术方案
概述 在我们的日常项目开发过程中缓存是无处不在的,因为它可以极大的提高系统的访问速度,关于缓存的框架也种类繁多,今天主要介绍的是使用现在非常流行的NoSQL数据库(Redis)来实现我们的缓存需求. ...
- JS判断数组是否包含某元素
我在学习ES6数组拓展时,发现了新增了不少了有趣的数组方法,突然想好工作中判断数组是否包含某个元素是非常常见的操作,那么这篇文章顺便做个整理. 1.for循环结合break 可能很多人第一会想到for ...
- Vue组件库elementUI 在el-row 或 el-col 上使用@click无效失效,
问题: elementUI 在el-row 或者 el-col 上使用@click失效, 解决: 在click后面加上 .native .要使用@click.native=”handler()”才行, ...
- Highcharts Highstock 学习笔记 第一篇 Highcharts配置
Highcharts是一款纯javascript编写的图表库,能够很简单便捷的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图.曲线图.面积图.柱状图.饼图.散点图等多达 ...
- 【转】Linux下使用locale命令设置语言环境
转自:http://www.cnblogs.com/dolphi/p/3622570.html locale命令设置语言环境 在Linux中通过locale来设置程序运行的不同语言环境,locale由 ...
- 笔记《精通css》第5章 链接应用样式
第5章 链接应用样式 1.链接伪类选择器 a : link{ } (寻找没有被访问过的链接) a : visied{ }(寻找被访问过的链接) 动态伪类选择器 a : hover ...
- ajax不跳转页面的快速删除操作,可添加美观样式
以前我们讲的删除是利用嵌入php代码,跳转到另一个页面,从而降低了删除速度,但我们今天讲的利用ajax不仅可以达到不跳页面快速删除,并且能添加特效来美化页面. 上代码,我们先来做主页面 <!DO ...
- mybatis中映射文件和实体类的关联性
mybatis的映射文件写法多种多样,不同的写法和用法,在实际开发过程中所消耗的开发时间.维护时间有很大差别,今天我就把我认为比较简单的一种映射文件写法记录下来,供大家修改建议,争取找到一个最优写法~ ...
- Twisted web开发教程
最近在网上看到一篇twisted web开发文章,将它实践了一下,twisted 提供基本的url路由 和 控制器,模板与模型需要外部扩展 1.目录浏览 2.get请求 3.url路由 4.接受带参数 ...