MoviePilot + Rclone + Emby 高阶方案:零磁盘残留、极速上传自动化指南

第一部分:Docker 目录映射专业管理工具 (dockerys.sh)

这是一个带专业 UI、支持交互式添加和删除映射的工具。建议托管在 www.404.rw/dockerys.sh

一键执行命令:

bash <(curl -sSL https://www.404.rw/dockerys.sh)

脚本核心功能:

  • 交互式操作:通过数字序号选择容器,无需手动输入 ID。

  • 安全删除:自动读取容器当前的 -v 挂载点,选中即可剔除并重启。

  • 专业 UI:具备彩色状态显示([成功][错误])和启动艺术字。

  • 兼容性修正:通过 < /dev/tty 解决了在线执行时界面闪烁无法输入的问题。

第二部分:25 核高性能 Rclone 自动上传方案

针对你的 25 核服务器深度优化,配合 systemd.path 实现文件落盘即刻上传。

1. 高性能上传脚本 mkdir /home/scripts && chmod -R 777 /home && nano /home/scripts/mp_upload.sh

请确保路径正确,并赋予执行权限 (chmod +x)。


#!/bin/bash

# ================= 配置区域 =================
SOURCE_DIR="/home/zzmedia"
REMOTE_NAME="taoqi3"                    # 远程配置名
REMOTE_PATH="media"                     # 目的地文件夹(不带斜杠)
CONFIG_FILE="/root/.config/rclone/rclone.conf"
LOG_FILE="/var/log/rclone_upload.log"
LOCK_FILE="/tmp/rclone_upload.lock"
# ===========================================

# 确保日志文件存在
touch "$LOG_FILE"

(
  # 锁文件路径也必须加双引号,防止路径中有空格
  flock -n 200 || exit 1

  # 执行 25 核高性能优化上传
  # 语法解释:"${REMOTE_NAME}:${REMOTE_PATH}" 会被解析为 "GDrive:Media"
  rclone move "$SOURCE_DIR" ${REMOTE_NAME}:"${REMOTE_PATH}" \
    --config "$CONFIG_FILE" \
    --min-age 1m \
    --stats 15s --stats-one-line \
    --retries 3 \
    --retries-sleep 30s \
    --low-level-retries 10 \
    --ignore-errors \
    --transfers 16 \
    --checkers 32 \
    --drive-chunk-size 128M \
    --buffer-size 512M \
    --multi-thread-streams 6 \
    --multi-thread-cutoff 256M \
    --use-mmap \
    --fast-list \
    --delete-empty-src-dirs \
    --ignore-errors \
    --log-file "$LOG_FILE" \
    -v

) 200> "$LOCK_FILE"

2. 配置 Systemd 实时触发

不再使用定时器,改用路径监控。

  • 创建监控配置:nano /etc/systemd/system/rclone-watch.path

 


[Unit]
Description=Monitor MP staging folder for new files

[Path]
# 监控你的中转目录是否有文件进入
PathExistsGlob=/home/down/zzmedia/*
# 还可以用 PathChanged,但 PathExistsGlob 对移动操作最灵敏
Unit=rclone-upload.service

[Install]
WantedBy=multi-user.target
 创建服务配置:sudo nano /etc/systemd/system/rclone-upload.service

[Unit]
Description=MoviePilot Rclone Upload Service

[Service]
Type=oneshot
ExecStart=/bin/bash /home/scripts/mp_upload.sh
User=root

生效命令:

systemctl daemon-reload

systemctl enable --now rclone-watch.path       # 开启实时监控

systemctl start rclone-upload && systemctl start rclone-watch.path

第三部分:管理快捷命令 (快捷别名)

为了方便在 Debian 下快速操作,请将以下代码加入 nano /root/.bashrc


# Rclone 自动化管理工具
rc() {
    case "$1" in
        start)
            sudo systemctl start rclone-upload.service
            ;;
        status)
            sudo systemctl status rclone-upload.service
            ;;
        time)
            sudo systemctl list-timers rclone-upload.timer
            ;;
        logs)
            sudo tail -n 50 -f /var/log/rclone_upload.log
            ;;
        *)
            echo "用法: rc {start|status|time|logs}"
            echo "  1. rc start  - 立即启动上传"
            echo "  2. rc status - 查看服务状态"
            echo "  3. rc time   - 查看下次定时任务时间"
            echo "  4. rc logs   - 实时查看上传日志"
            ;;
    esac
}

生效命令source ~/.bashrc。之后你只需输入 rc logs 即可看到实时进度。

 

第四部分:MoviePilot (MP) 关键配置提示

  1. 整理模式:在 MP 转移设置中,建议选择 “硬链接 (Hardlink)”“移动 (Move)”

    • 如果下载和中转目录在同一个分区,请选“移动”,这样文件是瞬间出现的。

  2. 防止死种

    • 在 MP 插件市场安装 “下载任务自动清理”

    • 设置 3 小时 无速度自动删除任务。

    • 在 qBittorrent 中将 “不计入限制的下载速度” 设为 10 KiB/s

  3. 宝塔 PHP 8.3 强制切换

    • 如果 UI 不显示,直接在网站配置文件中修改:include enable-php-83.conf;

    • 如需 swoole_loader,必须确认其支持 PHP 8.3 NTS 版本并手动上传 .so 文件。

💡 运维心得总结

本套方案的核心在于:systemd.path 负责“即时发现文件”,--min-age 1m 负责“确认文件写完”。这既保证了传输的实时性,又通过 1 分钟的静止等待期规避了文件损坏的风险,非常适合 MoviePilot 处理大体量的 4K 影视资源。

 

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注

×
订阅图标按钮