我一直试图让这个运行超过一个星期而且不知所措。我试图通过使用settings.json配置完成调用脚本,如下所示:
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/posttorrent.sh",
我的脚本位于jail的根目录中,并由传输拥有。我还检查了文件的权限(755)并运行了chmod + x /posttorrent.sh。
我甚至将文件简化为只输出到日志文件中,如下所示:
#!/bin/bash
echo "$TR_TORRENT_NAME is completed" >> /posttorrent.log
但是,到目前为止,无论我下载什么文件,我仍然没有posttorrent.log文件。我不完全确定我是否在正确的轨道上,因为传输设置为日志级别3,但我甚至没有看到对/var/log/debug.log中的脚本的调用。我确信我错过了一些容易的东西,因为其他人已经能够使这个工作,我现在只是选择,因为我认为我已经阅读和/或尝试了我能找到的与此问题有关的一切。谢谢!
答案 0 :(得分:1)
该脚本依赖于/bin/bash
在监狱内。
您可以更改脚本以使用/bin/sh
,更改/bin/bash
到/usr/bin/env bash
,或将/path/to/port/bin/bash
链接到
/usr/local/bin/bash
(或bash
相对于/usr/local/bin
的位置
jail目录,但如果它存在,它应该在ln -s /usr/local/bin/bash /path/to/jail/bin/bash
)。
root
此外,根目录(默认情况下)只能由transmission
写入,因此
transmission
用户无法创建permission
根目录中的日志文件。要正确地允许创建
日志文件将目标目录更改为
/var/db/transmission/posttorrent.log
用户有permission要写信。例如
transmission
,如果使用FreeNAS插件。
可以使用install -d -o transmission -g transmission /home/transmission
用户创建目录
install utility:
install -o transmission -g transmission -m 644 /dev/null /posttorrent.log
# or on an existing log file
chown transmission /posttorrent.log
chgrp transmission /posttorrent.log
# normally the mode bits will already be 644
chmod 644 /posttorrent.log
或者,可以使用。手动创建日志文件 install utility,或者可以使用chown设置所有者:
transmission-daemon
传输也将rewrite the configuration file when it
exits。所以/usr/pbi/transmission-amd64/transmissionUI/transmission.db
之前必须停止
编辑设置文件。但是,如果使用Transmission插件,
设置存储在SQLite数据库中
(sqlite3 /usr/pbi/transmission-amd64/transmissionUI/transmission.db <<EOF
UPDATE freenas_transmission SET enable=1;
UPDATE freenas_transmission SET script_post_torrent="/posttorrent.sh";
)
并将从数据库中重新创建设置文件
启动。 sqlite3
可用于手动编辑数据库,或者可以在FreeNAS Web UI上编辑插件的设置。
zmq_msg_gets