文档

配置定时同步任务

更新时间:

在日常的文件管理工作中,我们常常需要将本地文件与云端存储进行同步,以确保数据的安全备份和便捷访问。阿里云对象存储(OSS)是一款稳定可靠的云存储服务,能够满足我们对于文件存储和管理的需求。本文为您介绍如何通过配置定时任务,将本地文件自动同步至 OSS ,让您的文件管理更加高效便捷。

操作场景

某文件夹“folder”内的文件每天都会有增删改操作,需要定时将该文件夹同步至 OSS 上。并且为了提高传输效率,避免传输大量不必要的旧文件,希望只上传在一定时间段内有更新或创建的新文件。

通过使用基于文件时间过滤,例如 --max-age ,根据实际需求筛选出特定时间段内的文件进行传输,提高文件传输效率,实现精准的文件同步备份。

通过使用目的过滤参数,例如--update/-u,排除已同步的文件,从而显著提高文件同步的效率,减少不必要的重复操作和资源消耗。

前提条件

  • 已开通并使用OSS服务。具体操作,请参见开始使用OSS

  • 已安装ossutil 2.0命令行工具。具体操作,请参见安装ossutil

配置步骤

Linux系统

使用Cron定时任务执行上传命令

  1. 打开终端并输入命令。

     crontab -e
  2. 添加定时任务。用于在每天的凌晨3点上传/path/folder路径下7 天内更新或新建的文件。

    0 3 * * * ossutil cp /path/folder oss://your-bucket/path/a -r -f -u --max-age 7d

使用Cron定时任务执行脚本

  1. 创建Shell脚本文件upload.sh,并添加以下内容。

    #!/bin/bash
    ossutil cp /path/folder oss://your-bucket/path/a -r -f -u --max-age 7d
  2. 添加定时任务。用于在每天的凌晨3点执行脚本,上传/path/folder路径下7 天内更新或新建的文件。

    0 3 * * * /path/to/upload.sh

Windows系统

  1. 创建并编辑上传脚本。

    创建批处理文件,例如 upload_to_oss.bat,并添加以下内容。

    cd /d "C:\ossutil"
    ossutil cp "C:\local\folder" "oss://your-bucket/folder" -r -u -f
  2. 设置任务计划程序。

    1. 搜索并打开任务计划程序应用程序。

    2. 在左侧窗格选择任务计划程序库,然后点击创建基本任务链接。

    3. 按照向导的指示,设置任务的名称、触发器(选择要执行任务的时间和频率)以及操作(选择要运行的程序或脚本,并指定参数)。

    4. 操作中选择启动程序,然后浏览并选择之前创建的批处理文件(.bat 文件)。

  3. 测试任务。

    1. 双击运行之前创建的批处理文件(.bat 文件)。

    2. 登录阿里云官网打开对象存储OSS控制台,查看脚本中上传至OSS指定路径下的文件是否更新。

    3. 成功更新后,该任务将在指定的时间自动运行脚本,执行ossutil上传操作。