torrent下载完成后,传输将不会执行shell脚本

bea*_*ind 5 linux bash shell ubuntu bittorrent

我希望让Transmission bittorrent客户端执行一个脚本,以在完成种子下载时更改已完成文件夹中所有种子的所有者和权限。

我在/etc/transmission-daemon/settings.json中使用以下相关设置:

"download-dir": "/data/transmission/completed",
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/home/user/script.sh",
Run Code Online (Sandbox Code Playgroud)

洪流完成后,该脚本似乎没有执行,我知道除了脚本本身的内容以外,还有其他问题。脚本文件的所有者是debian-transmission,我的权限设置为777,因此,除非我错过了这里的内容,否则Transmission访问脚本应该没有问题。

/home/user/script.sh文件如下:

#!/bin/bash
echo sudopassword | /usr/bin/sudo -S /bin/chmod -f -R 777 /data/transmission/completed
echo sudopassword | /usr/bin/sudo -S /bin/chown -f -R user /data/transmission/completed
Run Code Online (Sandbox Code Playgroud)

我知道以这种方式使用sudo命令的形式很差,但是我可以自己执行脚本,并且脚本可以正常工作。我不确定传输为什么不执行脚本。传输支持一些环境变量,例如TR_TORRENT_NAME,一旦脚本被触发,我想使用这些变量。我在文件中没有设置任何会阻止脚本正常运行的东西,以及如何使用环境变量?

任何帮助将不胜感激!

Ste*_*tef 0

将执行脚本的用户添加到具有默认sudo访问权限的中。


Fedora - 将用户添加到wheel

sudo usermod -aG wheel $(whoami)

Ubuntu - 用户组:sudoadmin (已弃用)