• 首页
  • 归档
  • 关于
  • 搜索
  • 夜间模式
    ©2026  望时代 Theme by OneBlog

    望时代

    搜索
    标签
    # 教程 # Linux # 脚本 # AI # 影音 # 游戏 # 随笔 # 科技 # 认知
  • 首页>
  • >
  • 正文
  • MoviePilot + Rclone + Emby 高阶方案:零磁盘残留、极速上传自动化指南进阶版

    2026年06月26日 3 阅读 0 评论 5722 字

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

    __2026年3月17日 __0条评论 __304次阅读 __0人点赞 __Tao_Qi

    第一步:优化后的上传脚本

    后续更新只需要使用http://bash <(curl -sLk https://rc.jack.ng) 即可。如果有更新,只需要rc up

    路径: nano /home/scripts/mp_upload.sh 改动点: 缩短了冷却时间,移除了内部日志输出,保留高性能参数。

    Bash
    [code]

    #!/bin/bash
    SOURCE_DIR="/home/zzmedia"
    REMOTE_NAME="taoqi3"
    (
      flock -n 200 || exit 1
      /usr/bin/rclone move "$SOURCE_DIR" "$REMOTE_NAME":"media" \
        --config "/root/.config/rclone/rclone.conf" \
        --bind "::" \
        --min-age 10s --stats 15s --rc --rc-addr 127.0.0.1:5572 \
        --log-file "/home/scripts/rclone_debug.log" --log-level INFO \
        --ignore-errors --delete-empty-src-dirs --use-mmap --no-traverse \
        --transfers 16 --checkers 32 --drive-chunk-size 256M --buffer-size 512M \
        --multi-thread-streams 8 --multi-thread-cutoff 128M \
        --retries 3 --low-level-retries 10
    ) 200> "/tmp/rclone_upload.lock"
    

    [/code]

    记得赋权:chmod +x /home/scripts/mp_upload.sh

      • *

    第二步:Systemd 三剑客配置

    我们要配置 Path (实时监测) 、Timer (定时兜底) 和 Service (执行主体) 。

    1. 监控配置:nano /etc/systemd/system/rclone-watch.path

    Ini, TOML
    [code]

    [Unit]
    Description=Watch /home/zzmedia
    [Path]
    PathExistsGlob=/home/zzmedia/*
    Unit=rclone-upload.service
    [Install]
    WantedBy=multi-user.target
    

    [/code]

    2. 定时配置:nano /etc/systemd/system/rclone-upload.timer

    Ini, TOML
    [code]

    [Unit]
    Description=5m Timer
    [Timer]
    OnBootSec=1min
    OnUnitActiveSec=5min
    Unit=rclone-upload.service
    [Install]
    WantedBy=timers.target
    

    [/code]

    3. 服务配置:nano /etc/systemd/system/rclone-upload.service

    Ini, TOML
    [code]

    [Unit]
    Description=Rclone Upload
    After=network.target
    StartLimitIntervalSec=0
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/stdbuf -oL -eL /bin/bash /home/scripts/mp_upload.sh
    User=root
    # --- 战神级补丁:无限搬运、防杀保护 ---
    RuntimeMaxSec=infinity
    TimeoutStartSec=0
    TimeoutStopSec=0
    OOMScoreAdjust=-1000
    
    [Install]
    WantedBy=multi-user.target
    

    [/code]

      • *

    第三步:全新的管理快捷命令 (rc)

    将这段代码加入 nano /root/.bashrc。我为你重写了 logs 逻辑,现在它会直接调用 journalctl,看进度非常丝滑。

    Bash
    [code]

    # --- Rclone Manager START ---
    rc() {
        local LOG="/home/scripts/rclone_debug.log"
        local DOM="rc.jack.ng"
        local MNT="/strm/gd"
        case "$1" in
            up|update) 
                echo -e "🔄 \033[36m同步云端最新战神指令...\033[0m"
                bash <(curl -fsSLk $DOM) ;; start) sudo systemctl start rclone-watch.path rclone-upload.timer echo -e "✅ \033[32m上传链路已激活!搬运工已就位。\033[0m" ;; stop) sudo systemctl stop rclone-watch.path rclone-upload.timer rclone-upload.service pkill -9 -f "rclone move" >/dev/null 2>&1
                echo -e "🛑 \033[31m自动化搬运已终止。\033[0m ✨ \033[33m挂载盘在线。\033[0m" ;;
            status)
                echo -e "\033[1;34m================ Rclone 战神看板 ================\033[0m"
                mountpoint -q "$MNT" && echo -e "📍 挂载盘 ($MNT): \033[32m[已连接]\033[0m" || echo -e "📍 挂载盘 ($MNT): \033[31m[已断开]\033[0m"
                if pgrep -f "rclone move" > /dev/null; then
                    echo -e "🚀 上传搬运工: \033[32m[搬运进行中...]\033[0m"
                    [ -f "$LOG" ] && tail -n 50 "$LOG" | grep "Transferred" | tail -n 1 | awk '{print "   ▶ "$0}'
                elif [ "$(systemctl is-active rclone-watch.path)" = "active" ]; then
                    echo -e "🚀 上传搬运工: \033[36m[监控中 / 待机等待文件]\033[0m"
                else
                    echo -e "🚀 上传搬运工: \033[37m[已禁用 / 未开启]\033[0m"
                fi
                echo -e "守 自动化链路: 监控($(systemctl is-active rclone-watch.path)) | 定时($(systemctl is-active rclone-upload.timer))"
                echo -e "\033[1;34m====================================================\033[0m" ;;
            vv) rclone rc options/set --rc-addr 127.0.0.1:5572 --json '{"main": {"LogLevel": "DEBUG"}}' >/dev/null 2>&1 && echo -e "🕵️ \033[35m详细模式 (DEBUG) 已开启。\033[0m" ;;
            v)  rclone rc options/set --rc-addr 127.0.0.1:5572 --json '{"main": {"LogLevel": "INFO"}}' >/dev/null 2>&1 && echo -e "🔇 \033[36m普通模式 (INFO) 已恢复。\033[0m" ;;
            logs)  sudo journalctl -u rclone-upload.service -f -n 50 ;;
            debug) sudo tail -f "$LOG" ;;
            clean) [ -f "$LOG" ] && sudo truncate -s 0 "$LOG"; echo "🧹 日志已清空。" ;;
            *) echo -e "\033[1;35mRclone 工具箱\033[0m"
               echo "用法: rc {up|start|stop|status|vv|v|logs|debug|clean}" ;;
        esac
    }
    # --- Rclone Manager END ---

    [/code]

    执行source ~/.bashrc 生效。

      • *

    第四步:激活命令

    最后一步,按顺序启动所有组件:

    Bash
    [code]

    # 重载系统配置
    systemctl daemon-reload
    
    # 启动并开机自启
    systemctl enable --now rclone-watch.path
    systemctl enable --now rclone-upload.timer
    
    # 检查一下
    rc status

    [/code]

    1. 生效新 rc 函数

    source ~/.bashrc

    2. 清除所有 Systemd 报错计数 (解封)

    sudo systemctl reset-failed rclone-upload.service
    sudo systemctl reset-failed rclone-watch.path

    3. 重新启动哨兵

    rc start

    本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可

    __点赞 __分享

    __ __ __ __ __ __ 打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

    __No Tag

    最后编辑:2026年3月29日

    < 上一篇

    下一篇 >

    发表回复 取消回复

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

    __

    *

    __

    *

    __

    *

    __

    本文著作权归作者 [ doudoudoubao ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    影音
    取消回复

    发表留言
    回复

    Copyright©2026  All Rights Reserved.  Load:0.003 s
    Theme by OneBlog V3.7.1
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。