You need to enable JavaScript to run this app.
导航

使用 rsync 工具迁移数据

最近更新时间2022.11.01 18:51:33

首次发布时间2022.11.01 18:51:33

如果您有大量文件上传和下载,或需要频繁执行上传和下载的任务时,建议您使用 rsync 命令行工具,执行上传下载任务。本文介绍 rsync 命令行工具的相关说明及使用方式。

背景信息

rsync 是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。rsync 软件适用于 unix、Linux 及 Windows 等多种操作系统平台。
传统的 scp 和 cp 工具的每次拷贝均为完整拷贝,而 rsync 除了可以完整拷贝外,还具备增量拷贝功能,能显著提高同步数据的性能及效率。
rsync 工具的下载地址和官网介绍,请参见下载地址使用介绍

前提条件

已创建 ECS 实例或选择已有云服务器作为数据同步的目的端,并且目的端 ECS 需要通过 VPC 或者公网访问到源 ECS 实例。

操作步骤

  1. 安装 rsync 工具。不同操作系统的安装命令如下。

    • CentOS 或 Redhat
    sudo yum install rsync
    
    • Ubuntu 或 Debian
    sudo apt-get install rsync
    
  2. 执行以下命令,将源端文件以全量+增量同步的方式,同步到目的端 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=FILEFILE 文件中指定不需要传输的文件或目录。
    --include=PATTERN指定不被排除需要传输的文件与目录,支持通配符 *;通常配合 --exclude--exclude-from 使用。
    --include-from=FILEFILE 文件中指定不被排除需要传输的文件与目录;通常配合 --exclude--exclude-from 使用。
    --bwlimit=RATE限制传输速率及 I / O 带宽。单位为 KB/s。

    --delete

    让目标 DEST 目录与 SRC 目录数据一致。

    注意

    该参数可能会导致文件被删除,建议您谨慎使用。