AI智能摘要
Sync Daemon Web的核心功能是通过可视化面板监控rclone增量同步过程,首次扫描建立文件基线后仅下载新增文件,避免重复传输。系统支持多路径规则配置、并发下载控制与带宽限速,并通过解耦架构确保稳定性。状态持久化至sync_state.json并支持自动恢复,配合systemd实现挂载刷新与服务管理,Web界面提供实时进度查看、配置修改及日志查阅能力。
— 此摘要由AI分析文章内容生成,仅供参考。
项目地址:Z1rconium/auto_download_from_drive
项目介绍
用于长期运行监控 rclone 挂载目录,仅下载新出现的文件到本地目标目录。
功能特性
1.增量下载与基线管理
- 首次启动时执行 bootstrap 基线扫描,将源目录中已存在的文件标记为
baseline。 - 仅处理后续扫描中“新出现”的文件,避免重复下载历史文件。
2.多规则独立监控
- 支持配置多条
source_path -> dest_path规则。 - 每条规则可在
config.json中独立启用(enabled),方便分阶段管理。
3.周期扫描与解耦架构
- 按
scan_interval_seconds周期扫描。 - 扫描、下载、状态管理完全解耦,确保系统稳定可靠。
4.并发控制与限速
- 支持多线程并发下载(
max_concurrent_downloads)。 - 整合
rclone --bwlimit支持,通过bandwidth_limit_mbps精确控制带宽。
5.容错与重试机制
- 下载失败自动进入重试队列,支持
max_retry_count上限控制。 - 状态详细记录:
last_error、last_attempt、retry_count。
6.挂载自动刷新
- 定期执行
systemctl restart <rclone_service_name>刷新挂载。 - 刷新期间自动暂停扫描,等待下载任务空闲,并包含挂载可用性探测逻辑。
7.状态持久化与清理
- 记录存储于
sync_state.json,支持主文件损坏时从.bak自动恢复。 - 自动清理:源端删除文件后,其状态记录会被同步移除,保持状态精简。
8.Web 管理面板
- 提供内置的 Web UI 监控页面。
- 支持实时查看同步进度、修改配置、查阅日志。
软件预览



快速上手
1. 初始化配置
python3 sync_daemon.py
若 config.json 不存在,程序将生成模板。请编辑其中的 rules 填入正确的路径。
2. 启动服务
建议通过 systemd 部署:
sudo cp sync_daemon.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now sync_daemon.service
3. 开启 Web 面板
cd web_panel ./start.sh
访问 http://127.0.0.1:12701 即可查看状态。
配置说明
| 字段 | 说明 |
|---|---|
scan_interval_seconds | 扫描源端新文件的周期 (秒) |
rclone_refresh_interval_seconds | 重启 rclone 挂载服务的周期 (秒) |
max_concurrent_downloads | 并发下载线程数 |
max_retry_count | 失败任务重试上限 |
bandwidth_limit_mbps | 下载限速 (Mbps),0 为不限 |
rules | 包含 source_path, dest_path, enabled 的规则数组 |
状态说明
文件在 sync_state.json 中的生命周期状态:
baseline: 初始扫描到的文件(不下载)。pending: 发现的新文件,等待下载。synced: 下载成功。failed: 下载失败,等待下个周期重试。permanent_failed: 重试次数超限,不再自动处理。
发布者:木木,转载请注明出处:https://blog.huzz.cn/10791.html
微信
支付宝