transmission-daemon下载完成后移至done目录做种失效求助
解决Transmission下载完成后移至指定目录并在该目录做种的问题
问题描述
已配置Transmission的script-torrent-done-enabled和script-torrent-done-filename,脚本执行后文件成功从./progress移至./done,但Transmission仍从./progress目录做种。
问题根源
原脚本中先手动执行mv $PROGRESS_DIR/* "$DONE_DIR/",这会引发两个关键问题:
- 误移动
progress目录下所有文件,包括其他未完成种子的文件,导致异常 - 当
transmission-remote执行--move命令时,Transmission无法定位该种子的原始文件路径,因此无法更新种子的存储位置,继续沿用旧路径做种
修正方案
直接利用Transmission自带的--move参数处理文件移动和路径更新,无需手动执行mv命令。修正后的脚本如下:
#!/bin/bash # Transmission连接信息 TRANSMISSION_HOST="localhost" TRANSMISSION_PORT="9091" TRANSMISSION_USER="user" TRANSMISSION_PASSWORD="pass" # 当前完成的Torrent哈希值 TORRENT_HASH=$1 # 目录配置 PROGRESS_DIR="$HOME/seedbox/progress" DONE_DIR="$HOME/seedbox/done" # 让Transmission自动移动该种子的文件到done目录并更新路径 transmission-remote "$TRANSMISSION_HOST:$TRANSMISSION_PORT" \ -n "$TRANSMISSION_USER:$TRANSMISSION_PASSWORD" \ -t "$TORRENT_HASH" \ --move "$DONE_DIR" echo "Torrent $TORRENT_HASH 已移至 $DONE_DIR 并将在此目录继续做种。"
额外检查项
- 确保脚本拥有可执行权限:
chmod +x /home/ubuntu/dottemplates/scripts/transmission-move-and-seed.sh
- 确认Transmission运行用户(通常为
debian-transmission或transmission)拥有对目标目录的读写权限:
sudo chown -R transmission:transmission "$HOME/seedbox/progress" "$HOME/seedbox/done"
- 重启Transmission服务使配置生效:
sudo systemctl restart transmission-daemon
内容的提问来源于stack exchange,提问作者chovy
相关产品推荐
相关产品推荐

