在文件上传和下载的过程中,我们经常会遇到网络不稳定的情况,这可能导致文件传输中断,给工作带来极大的不便。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\