前文 实现了在 Linux 下用 rclone 备份文件,这次在 Windows 下也来实现备份。
rclone 的配置同前文,直接上备份的脚本。
脚本
@echo off
chcp 65001 >nul
for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a"
set "RED=%ESC%[91m"
set "GREEN=%ESC%[92m"
set "YELLOW=%ESC%[93m"
set "BLINK=%ESC%[5m"
set "RESET=%ESC%[0m"
echo %RED%Koofr %RESET%%GREEN%备份任务开始 - %date% %time% %RESET%
echo %YELLOW%[1/3] 正在同步 xxx 文件夹%BLINK%%YELLOW%...%RESET%
"rclone.exe" sync "xxx" "koofr:/xxx/" ^
--fast-list ^
--skip-links ^
--no-update-modtime ^
--local-no-check-updated ^
--exclude "desktop.ini" ^
--delete-excluded ^
--stats-one-line ^
--stats=0 ^
--verbose
echo %YELLOW%[2/3] 正在同步 yyy 文件夹%BLINK%%YELLOW%...%RESET%
"rclone.exe" sync "yyy" "koofr:/yyy/" ^
--fast-list ^
--skip-links ^
--no-update-modtime ^
--local-no-check-updated ^
--exclude ".git/**" ^
--exclude ".venv/**" ^
--exclude "__pycache__/**" ^
--delete-excluded ^
--stats-one-line ^
--stats=0 ^
--verbose
echo %YELLOW%[3/3] 正在同步 zzz 文件夹%BLINK%%YELLOW%...%RESET%
"rclone.exe" sync "zzz" "koofr:/zzz/" ^
--fast-list ^
--skip-links ^
--no-update-modtime ^
--local-no-check-updated ^
--stats-one-line ^
--stats=0 ^
--verbose
echo %GREEN%备份任务全部完成 - %date% %time% %RESET%
pause
说明
各个目录备份时,可以设置不同的参数:
- --fast-list:减少列出文件时的 HTTP 请求次数
- --stats-one-line: 强制日志输出在一行内显示,避免刷屏
- --stats=0: 统计信息更新间隔,0 意味着不输出统计摘要
- --skip-links: 跳过符号链接
- --no-update-modtime: 不在目标端更新修改时间,节省操作,提升速度
- --local-no-check-updated: 不检查本地源文件是否被更改,也是提高效率
- --verbose: 详细显示
- --exclude "……": 排除某个文件或目录
- --delete-excluded: 如果云端已经存在了被排除的文件(比如之前上传过),加上这个参数后,会把云端那些符合排除规则的文件删掉,确保云端干净

