一、Rsync安装以及用法

Rsync安装

apt install rsync

Rsync用法
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [USER@]host:DEST
rsync [OPTION]... [USER@]HOST:SRC DEST
rsync [OPTION]... [USER@]HOST::SRC DEST
rsync [OPTION]... SRC [USER@]HOST::DEST
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

[OPTION]是选项,有几个选项参数你可以加入进去,说明如下:
-v,–verbose 详细模式输出;
-a,–archive 归档模式,表示以递归的方式传输文件,并保持所有文件属性不变,相当于使用了组合参数-rlptgoD;
-r, –recursive 对子目录以递归模式处理;
-l, –links 保留软链结;
-p, –perms 保持文件权限;
-t, –times 保持文件时间信息;
-g, –group 保持文件属组信息;
-o, –owner 保持文件属主信息;
-D, –devices 保持设备文件信息;
-H, –hard-links 保留硬链结;
-S, –sparse 对稀疏文件进行特殊处理以节省DST的 空间;
–delete 删除那些DST中SRC没有的文件;
-z, –compress 对备份的文件在传输时进行压缩处理;

用法举例:

A主机data目录下的所有的文件复制到B主机的data目录下,其中-e "ssh -p 222"是指B主机的SSH端口是222,命令如下:

rsync -avu --progress --delete /data/ [email protected]:/data/ -e "ssh -p 222"

二、SCP远程拷贝方法

SCP是Linux自带的,不需要安装就可以使用。

SCP的命令格式如下:scp [参数] [原路径] [目标路径]。参数说明如下:
-1 强制scp命令使用协议ss#h1
-2 强制scp命令使用协议ss#h2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给s#sh,从而打开压缩功能)
-p 留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-v 详细方式显示输出。scp和s#sh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给s#sh。
-F s#sh_config 指定一个替代的s#sh配置文件,此参数直接传递给s#sh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给s#sh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o s#sh_option 如果习惯于使用s#sh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解s#sh(1)的选项。

SCP用法举例:

scp -P 222 /data/ [email protected]:/data/
-P 222表示B主机的SSH是的端口222。

三、Tar边压缩边传输

tar是Linux 下常用的压缩工具

它的参数说明如下:
-A或–catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或–create:建立新的备份文件;
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别;
-x或–extract或–get:从备份文件中还原文件;
-t或–list:列出备份文件的内容;
-z或–gzip或–ungzip:通过gzip指令处理备份文件;
-Z或–compress或–uncompress:通过compress指令处理备份文件;
-f<备份文件>或–file=<备份文件>:指定备份文件;
-v或–verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或–same-permissions:用原来的文件权限还原文件;
-P或–absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N <日期格式> 或 –newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
–exclude=<范本样式>:排除符合范本样式的文件。

Tar远程边压缩边传输边解压用法举例:

tar -czvf data/ | ssh [email protected] -p 222 tar zxvf -C /data/
说明:A主机下将data目录所有的文件打包压缩,传输到B主机/data/目录下。-p 222是B主机SSH的端口。

四、总结
Rsync,SCP,Tar远程拷贝数据文件速度快,完全取决于两个机房的出入口带宽。

标签: none