Sync Daemon Web : 可视化监控 rclone 同步进程及传输进度

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_errorlast_attemptretry_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_pathdest_pathenabled 的规则数组

状态说明

文件在 sync_state.json 中的生命周期状态:

  • baseline: 初始扫描到的文件(不下载)。
  • pending: 发现的新文件,等待下载。
  • synced: 下载成功。
  • failed: 下载失败,等待下个周期重试。
  • permanent_failed: 重试次数超限,不再自动处理。

发布者:木木,转载请注明出处:https://blog.huzz.cn/10791.html

Like (0)
Donate 微信 微信 支付宝 支付宝
木木的头像木木VIP用户
Previous 18小时前
Next 2025 年 7 月 15 日 下午4:37

相关推荐

发表回复

Please Login to Comment
SHARE
TOP
🌸
🔈Hi,朋友。欢迎来到木木的博客小站!