如果您有大量文件上传和下载,或需要频繁执行上传和下载的任务时,建议您使用 rsync 命令行工具,执行上传下载任务。本文介绍 rsync 命令行工具的相关说明及使用方式。
rsync 是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。rsync 软件适用于 unix、Linux 及 Windows 等多种操作系统平台。
传统的 scp 和 cp 工具的每次拷贝均为完整拷贝,而 rsync 除了可以完整拷贝外,还具备增量拷贝功能,能显著提高同步数据的性能及效率。
rsync 工具的下载地址和官网介绍,请参见下载地址和使用介绍。
已创建 ECS 实例或选择已有云服务器作为数据同步的目的端,并且目的端 ECS 需要通过 VPC 或者公网访问到源 ECS 实例。
安装 rsync 工具。不同操作系统的安装命令如下。
sudo yum install rsync
sudo apt-get install rsync
执行以下命令,将源端文件以全量+增量同步的方式,同步到目的端 ECS。
rsync -avP dataToSync/ root@yourIPaddress:/mnt/dataToSync/
参数说明如下所示。
参数 | 说明 |
---|---|
dataToSync | 需要上传的本地目录名。 |
root | 用于访问目的端 ECS 的用户名。 |
dstIPaddress | 目的端 ECS 云服务器的公网或私网 IP 地址。 |
/mnt | 云服务器中用来挂载文件系统的目录。 |
说明
rsync 工具的其他常见参数,请参见附录:常见参数。
参数 | 说明 |
---|---|
-v, --verbose | 显示传输的具体文件(推荐使用)。 |
-z, --compress | 传输时进行压缩以提高传输效率,您可以使用 --compress-level=NUM , 指定压缩级别(推荐使用)。 |
-P, --progress | 显示同步的过程及传输时进度等信息 (推荐使用)。 |
-a, --archive | 归档模式,表示以递归方式传输文件,并保持文件属性。与 -rlptgoD 参数相同(推荐使用)。 |
-r, --recursive | 对子目录以递归模式,即目录下的所有目录都同样传输,归档于 -a 参数设置的文件地址。 |
-t, --times | 保存文件时间信息,信息将归档于 -a 参数设置的文件地址。 |
-o, --owner | 保存文件属主信息,信息将归档于 -a 参数设置的文件地址。 |
-g, --group | 保存文件属组信息,信息将归档于 -a 参数设置的文件地址。 |
-p, --perms | 保存文件权限信息,信息将归档于 -a 参数设置的文件地址。 |
-D, --devieves | 保存设备文件信息,信息将归档于 -a 参数设置的文件地址。 |
-l, --linkd | 保存软链接信息,信息将归档于 -a 参数设置的文件地址。 |
-L, --copy-links | 如果是链接文件,则转为源文件复制(复制软连接的源文件)。 |
-e, --rsh=COMMAND | 使用信道协议,指定替代 rsh 的 shell 程序。 |
--exclude=PATTERN | 指出哪些文件或目录不需要传输,支持通配符 * 。 |
--exclude-from=FILE | 在 FILE 文件中指定不需要传输的文件或目录。 |
--include=PATTERN | 指定不被排除需要传输的文件与目录,支持通配符 * ;通常配合 --exclude 或 --exclude-from 使用。 |
--include-from=FILE | 在 FILE 文件中指定不被排除需要传输的文件与目录;通常配合 --exclude 或 --exclude-from 使用。 |
--bwlimit=RATE | 限制传输速率及 I / O 带宽。单位为 KB/s。 |
--delete | 让目标 DEST 目录与 SRC 目录数据一致。 注意 该参数可能会导致文件被删除,建议您谨慎使用。 |