使用 rclone 实现无人值守搬运百度盘文件到 OneDrive/Google Drive

许多用户喜欢将百度盘文件搬运到 OneDrive 或 Google Drive,但小盘 VPS(10-50GB)的存储空间有限,手动操作费时费力。本文将介绍如何使用 rclone 实现无人值守、无缝搬运数 TB 文件。


工具准备

  • 工具:rclone
  • 系统:Windows

步骤一:创建 rclone 搬运脚本

  1. 新建 bat 脚本

    • 在 rclone 目录下新建一个 bat 文件,例如 Rclone-move.bat
    • 编辑文件,写入以下内容:

      rclone move "C:/Users/Administrator/Downloads/Baidudisk/" "Onedrive:/Baidudisk/" -v --stats 15s --transfers 2 --bwlimit 50M --onedrive-no-versions --cache-chunk-size 10M --local-encoding=None --exclude "*.downloading" --log-file=C:\Software\rclone-v1.56.2-windows-amd64\log.txt --delete-empty-src-dirs --retries 1 --dry-run
  2. 参数说明

    • --exclude "*.downloading":排除正在下载的文件。
    • --log-file=:指定日志文件路径,搭配 -v(详细日志)或 -q(仅记录错误日志)使用。
    • --local-encoding=None:解决 OneDrive 文件命名编码问题。
    • --delete-empty-src-dirs:搬运完成后删除空目录。
    • --onedrive-no-versions:避免重复上传旧版本文件。
    • --dry-run:测试模式,运行后检查日志文件,确认无误后删除此参数。

步骤二:创建 Windows 计划任务

  1. 导入计划任务配置

    • 创建一个 XML 文件,例如 Rclone-move.xml,内容如下:

      <?xml version="1.0" encoding="UTF-16"?>
      <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
        <RegistrationInfo>
          <Date>2021-12-21T15:48:27.3169591</Date>
          <Author>WINDOWS\Administrator</Author>
          <Description>每5分钟检查一次本地百度盘文件C:/Users/Administrator/Downloads/Baidudisk/ 并移动已完成文件到Onedrive盘/Baidudisk/文件夹下</Description>
        </RegistrationInfo>
        <Triggers>
          <CalendarTrigger>
            <Repetition>
              <Interval>PT5M</Interval>
              <StopAtDurationEnd>false</StopAtDurationEnd>
            </Repetition>
            <StartBoundary>2021-12-21T07:45:51.0718017Z</StartBoundary>
            <Enabled>true</Enabled>
            <ScheduleByDay>
              <DaysInterval>1</DaysInterval>
            </ScheduleByDay>
          </CalendarTrigger>
        </Triggers>
        <Principals>
          <Principal id="Author">
            <UserId>WINDOWS\Administrator</UserId>
            <LogonType>InteractiveToken</LogonType>
            <RunLevel>LeastPrivilege</RunLevel>
          </Principal>
        </Principals>
        <Settings>
          <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
          <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
          <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
          <AllowHardTerminate>false</AllowHardTerminate>
          <StartWhenAvailable>true</StartWhenAvailable>
          <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
          <IdleSettings>
            <StopOnIdleEnd>true</StopOnIdleEnd>
            <RestartOnIdle>false</RestartOnIdle>
          </IdleSettings>
          <AllowStartOnDemand>true</AllowStartOnDemand>
          <Enabled>true</Enabled>
          <Hidden>false</Hidden>
          <RunOnlyIfIdle>false</RunOnlyIfIdle>
          <WakeToRun>false</WakeToRun>
          <ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
          <Priority>7</Priority>
          <RestartOnFailure>
            <Interval>PT1M</Interval>
            <Count>3</Count>
          </RestartOnFailure>
        </Settings>
        <Actions Context="Author">
          <Exec>
            <Command>C:\Software\rclone-v1.56.2-windows-amd64\Rclone-move.bat</Command>
            <WorkingDirectory>C:\Software\rclone-v1.56.2-windows-amd64\</WorkingDirectory>
          </Exec>
        </Actions>
      </Task>
  2. 导入计划任务

    • 打开 Windows 任务计划程序,导入 Rclone-move.xml 文件。
    • 修改路径为实际的 rclone bat 文件位置。
  3. 任务执行逻辑

    • 2021-12-21 15:48:27 开始,每隔 5 分钟检查一次任务状态。
    • 如果正在搬运文件,则等待下一个 5 分钟再次检查。

标签: onedrive, rclone, windows vps

添加新评论