文档章节

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

xiaoxin
 xiaoxin
发布于 2017/09/08 11:42
字数 1851
阅读 67
收藏 1
文件的交换有多种,而目前主要采用的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
粉丝 18
博文 261
码字总数 20225
作品 0
海淀
私信 提问
Rsync+inotify实现文件实时同步

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

tianya1993
2017/09/17
0
0
Linux系统Rsync数据同步工具

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

jy1779
07/03
0
0
linux同步工具scp、rsync

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

leicc
2015/07/24
0
0
ssh-key 免密码验证分发、管理、备份指南笔记02

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

jiaohuanji88
2015/02/25
0
0
Rsync介绍和参数

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

MrXiong2017
2017/06/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android 通过DrawableInflater加载自定义Drawable

一、Drawable 在Android系统张,图形图像的绘制需要在画布上进行操作和处理,但是绘制需要了解很多细节以及可能要进行一些复杂的处理,因此系统提供了一个被称之为Drawable的类来进行绘制处理...

IamOkay
15分钟前
1
0
灵活无处安放,所以选择流浪....《漆黑的空间》& 《灰色轨迹》

灵活无处安放,所以选择流浪....《漆黑的空间》& 《灰色轨迹》

yizhichao
21分钟前
1
0
Kafka+Flink 实现准实时异常检测系统

1.背景介绍 异常检测可以定义为“基于行动者(人或机器)的行为是否正常作出决策”,这项技术可以应用于非常多的行业中,比如金融场景中做交易检测、贷款检测;工业场景中做生产线预警;安防...

架构师springboot
今天
7
0
DecimalFormat 类基本使用

/* * DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度 * 0 表示如果位数不足则以 0 填充 * # 表示只要有可能就把数字拉上这个位置 * */ public static void main(String[] args){...

嘴角轻扬30
今天
4
0
This APT has Super Cow Powers.

在Debian/Ubuntu上,apt包管理器内嵌着一个彩蛋. 如果你在命令行界面输入 apt help 在最后一行能找到This APT has Super Cow Powers. 说明该apt具有超级牛力 牛力是个什么梗? 则说明你的系统...

taadis
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部