使用ossutil 断点文件续传

在文件上传和下载的过程中,我们经常会遇到网络不稳定的情况,这可能导致文件传输中断,给工作带来极大的不便。ossutil 提供了断点文件续传功能,能够很好地解决因网络问题导致的传输中断问题,确保文件能够完整、高效地进行上传和下载。本文将详细为您介绍如何通过 ossutil 进行断点文件续传,帮助您在网络状况不佳的情况下,顺利完成文件传输任务。

使用场景

在网络情况差的环境中,上传/下载过程中经常出现 ossutil 进程由于网络原因中断退出的情况,此时就需要用到断点文件续传功能来提升上传/下载的效率,减少数据的重复上传/下载 。

说明

断点文件续传功能默认关闭。

前提条件

断点续传机制

大型文件是通过分片上传的,断点续传功能启动后,会把文件的 OSS 名称、大小,upload id 等信息保存在checkpoint dir文件夹下,文件扩展名为. ucp 的文件中。下次开始传输后,会从checkpoint dir文件中读取并获取 upload id,然后通过 upload id 查询分片上传的信息,再然后从未上传的分片开始上传。

断点下载机制

大型文件是通过分片下载的,断点下载功能启动后,会把已下载的分片信息保存在checkpoint dir文件夹下。下次开始传输后,通过读取保存在checkpoint dir文件夹下的下载信息继续从未下载的分片开始下载。

参数

参数

说明

--checkpoint-dir

用于指定断点续传信息的存储目录。

示例

上传单个文件

以下示例通过使用ossutil的cp命令将本地upload.rar文件上传至bucket存储空间中,开始上传后会在 your-checkpoint-dir 目录下生成一个 .ucp 文件存储上传进度信息。如果由于网络断开、磁盘读写异常等导致文件上传中断,您则可以通过执行相同的命令从.ucp 文件中读取信息,继续上传文件。

ossutil cp upload.rar oss://bucket --checkpoint-dir D:\\your-checkpoint-dir\

批量上传文件

以下示例通过使用ossutil的cp命令将本地local_directory目录下的文件批量上传至bucket存储空间中,其中-u参数指定了仅上传源文件新于目标文件,-r参数进行递归复制整个目录及其所有子目录和文件。开始上传后会在 your-checkpoint-dir 目录下生成一个 .ucp 文件存储上传进度信息。如果由于网络断开、磁盘读写异常等导致文件上传中断,您则可以通过执行相同的命令,从.ucp 文件中读取信息,继续上传。

 ossutil cp -u -r local_directory oss://bucket --checkpoint-dir D:\\your-checkpoint-dir\