文档章节

关于文件交换实现的多种方案(rsync,scp)

xiaoxin
 xiaoxin
发布于 2017/09/08 11:42
字数 1851
阅读 11
收藏 1
点赞 0
评论 0
文件的交换有多种,而目前主要采用的FTP、HTTP交换等方式,这两种方式都需要开发程序以及通过第三方软件来实现,软件必须安装在Windows服务器才管用。而目前我们的各个系统所使用的应用服务器90%以上的都是Linux内核的系统,只有少部分系统(或者历史较久的系统 )采用windows server做为应用服务器或管理机。为了有效的快速同步两个应用服务器(两台之间的网络是互连的,可以是单向访问的)之前的文件,可以使用Linux自带的命令来实现快速同步,如:
rsync -avre 'ssh -p 1322' root@170.19.12.11:/share/files/ftimage  /share/files/  --参数解释avr是标准参数分别代表归档,详细输出信息,递归目录,其中e参数有特殊意义,即通过端口10022连接远程服务器,e参数是在远程服务器的ssh端口为非默认端口时使用,如为默认端口22则不需要。当然除这四个参数外,还可以增加使用其他参数,如z为压缩模式。
除rsync之外,还可以通过scp命令来实现,scp -r root@170.19.12.11:/share/files/ftimage  /share/files/ 此命令同样是将远程文件copy到本地,如使用非默认端口,则需要增加P参数。
rsync和scp的主要区别就是rsync不会覆盖目标中已经存在的文件,而scp会全量copy,不管目标中存不存在,因此rsync 效率较高,scp效率较低,如要同步的文件目录较大或文件不可能被更新时则使用rsync命令,要同步的文件(或文件夹)本身较小或有更新,则使用scp命令。当然如果要同步的内容不满足以上条件时,可以根据实际的需求考虑使用哪种方式,但本人建议使用rsync命令,因其比scp命令要强大的多。最后再结合系统本身的定时来实现按时执行同步工作。

附rsync命令参数说明:
-v, --verbose 详细模式输出。
-q, --quiet 精简输出模式。
-c, --checksum 打开校验开关,强制对文件传输进行校验。
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。
-r, --recursive 对子目录以递归模式处理。
-R, --relative 使用相对路径信息。
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。
可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX 定义备份文件前缀。
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件,不覆盖更新的文件。
-l, --links 保留软链结。
-L, --copy-links 想对待常规文件一样处理软链结。
--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结。
--safe-links 忽略指向SRC路径目录树以外的链结。
-H, --hard-links 保留硬链结。
-p, --perms 保持文件权限。
-o, --owner 保持文件属主信息。
-g, --group 保持文件属组信息。
-D, --devices 保持设备文件信息。
-t, --times 保持文件时间信息。
-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间。
-n, --dry-run现实哪些文件将被传输。
-w, --whole-file 拷贝文件,不进行增量检测。
-x, --one-file-system 不要跨越文件系统边界。
-B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节。
-e, --rsh=command 指定使用rsh、ssh方式进行数据同步。
--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息。
-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件。
--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件。
--delete 删除那些DST中SRC没有的文件。
--delete-excluded 同样删除接收端那些被该选项指定排除的文件。
--delete-after 传输结束以后再删除。
--ignore-errors 及时出现IO错误也进行删除。
--max-delete=NUM 最多删除NUM个文件。
--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输。
--force 强制删除目录,即使不为空。
--numeric-ids 不将数字的用户和组id匹配为用户名和组名。
--timeout=time ip超时时间,单位为秒。
-I, --ignore-times 不跳过那些有同样的时间和长度的文件。
--size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间。
--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0。
-T --temp-dir=DIR 在DIR中创建临时文件。
--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份。
-P 等同于 --partial。
--progress 显示备份过程。
-z, --compress 对备份的文件在传输时进行压缩处理。
--exclude=PATTERN 指定排除不需要传输的文件模式。
--include=PATTERN 指定不排除而需要传输的文件模式。
--exclude-from=FILE 排除FILE中指定模式的文件。
--include-from=FILE 不排除FILE指定模式匹配的文件。
--version 打印版本信息。
--address 绑定到特定的地址。
--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件。
--port=PORT 指定其他的rsync服务端口。
--blocking-io 对远程shell使用阻塞IO。
-stats 给出某些文件的传输状态。
--progress 在传输时现实传输过程。
--log-format=formAT 指定日志文件格式。
--password-file=FILE 从FILE中得到密码。
--bwlimit=KBPS 限制I/O带宽,KBytes per second。
-h, --help 显示帮助信息。

附scp参数说明:

-1  强制scp命令使用协议ssh1  

-2  强制scp命令使用协议ssh2  

-4  强制scp命令只使用IPv4寻址  

-6  强制scp命令只使用IPv6寻址  

-B  使用批处理模式(传输过程中不询问传输口令或短语)  

-C  允许压缩。(将-C标志传递给ssh,从而打开压缩功能)  

-p 保留原文件的修改时间,访问时间和访问权限。  

-q  不显示传输进度条。  

-r  递归复制整个目录。  

-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。   

-c cipher  以cipher将数据传输进行加密,这个选项将直接传递给ssh。   

-F ssh_config  指定一个替代的ssh配置文件,此参数直接传递给ssh。  

-i identity_file  从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。   

-l limit  限定用户所能使用的带宽,以Kbit/s为单位。     

-o ssh_option  如果习惯于使用ssh_config(5)中的参数传递方式,   

-P port  注意是大写的P, port是指定数据传输用到的端口号   

-S program  指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

© 著作权归作者所有

共有 人打赏支持
xiaoxin
粉丝 17
博文 231
码字总数 18402
作品 0
海淀
项目经理
Rsync+inotify实现文件实时同步

数据备份、文件备份是运维、DBA等岗位最熟悉不过的话题,这里不介绍数据库的备份,简单介绍一下文件同步工具,这样的工具有很多,Windows环境下有Goodsync、FreeFileSync等,Linux下rsync、u...

tianya1993 ⋅ 2017/09/17 ⋅ 0

Linux系统Rsync数据同步工具

1.1什么Rsync? Rsync 是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。 Rsync 软件使用于/unix/linux/windows 等多种操作系统平台。 下面是官方的英...

jy1779 ⋅ 2015/12/07 ⋅ 0

linux同步工具scp、rsync

linux下的文件同步主流的应该有两种方式,一种是scp(基于local、ssh),另外一种是rsync(多种方式local、ssh、rsyncd) scp执行命令格式 scp [OPTIONS] source destination 举例(本地到远程...

leicc ⋅ 2015/07/24 ⋅ 0

ssh-key 免密码验证分发、管理、备份指南笔记02

ssh-key 免密码验证分发、管理、备份指南02 1.备份需求分析 要求所有服务器在同一用户xiaoping系统用户下,实现B.A机器从本地备份数据到C机器上,在备份过程 中不需要C的提示系统密码验证。 ...

jiaohuanji88 ⋅ 2015/02/25 ⋅ 0

Rsync介绍和参数

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

MrXiong2017 ⋅ 2017/06/09 ⋅ 0

微微巴巴2007/cloudfs

#cloudfs ##使用说明 http://www.cloudtalkers.com/?pageid=382 ##软件特点: ###1、速度快 利用多线程+MultiPart机制, 大文件写入OSS可以达到50MB~100MB每秒, 可充分利用ECS和OSS之间的内网...

微微巴巴2007 ⋅ 2015/10/15 ⋅ 0

linux学习笔记-rsync原理及使用

rsync的原理及使用 第1章 rsync原理及介绍 1.1什么是rsync Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。Rstync软件适用于unix/linux/window...

呀哈喽 ⋅ 2017/11/04 ⋅ 0

Rsync实现主服务器热备份

Rsync全称是remote synchronize,也就是远程同步工具。官网介绍,“rsync is an open source utility that provides fast incremental file transfer. (rsync是一款提供快速增量文件传输的开...

shiw019 ⋅ 2016/05/22 ⋅ 0

rsync+inotify实现文件实时同步

rsync+inotify实现文件实时同步 关于rsync,在我个人理解中,这个命令在使用时和scp很像,因为这两个命令在使用时的格式大体相同。所以在记忆的时候可以类比scp命令来记忆。 rsync最大的好处...

烟头网管 ⋅ 2015/01/28 ⋅ 0

SSHH 免密码验证生产环境分发、管理、备份笔记01

SSHH 免密码验证生产环境分发、管理、备份实战应用指南 ssh是secure shell protocol的简写,它通过对联机数据包加密的技术进行数据传递。专门为远程登录会话 和其他网络服务提供安全的协议。...

jiaohuanji88 ⋅ 2015/02/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Boot整合模板引擎thymeleaf

项目结构 引入依赖pom.xml <!-- 引入 thymeleaf 模板依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId......

yysue ⋅ 15分钟前 ⋅ 0

ConstraintLayout使用解析

AndroidStudio3.0创建Project默认的布局就是ConstraintLayout。 AndroidStudio3.0前的可以自己修改,使用ConstraintLayout。 为了要使用ConstraintLayout,我们需要在app/build.gradle文件中...

_OUTMAN_ ⋅ 26分钟前 ⋅ 0

OSChina 周三乱弹 —— 这样的女人私生活太混乱了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 胖达panda :你经历过体验到人生的大起大落吗?我一朋友在10秒内体验了,哈哈。@小小编辑 请点一首《almost lover》送给他。 《almost love...

小小编辑 ⋅ 今天 ⋅ 9

自己动手写一个单链表

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。 一、概述 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对...

公众号_好好学java ⋅ 今天 ⋅ 0

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部