Transmission will not run shell script after torrent download completed?

beatsforthemind picture beatsforthemind · Oct 10, 2014 · Viewed 8.4k times · Source

I am looking to have the Transmission bittorrent client execute a script that changes the owner and permissions of all torrents in the completed folder when a torrent completes downloading.

I am using the following relevant settings in /etc/transmission-daemon/settings.json:

"download-dir": "/data/transmission/completed",
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/home/user/script.sh",

The script does not seem to be executing after a torrent completes, I know there are other issues that could be going on aside the from the content of the script itself. The owner of the script file is debian-transmission and I have the permissions set to 777, so there shouldn't be an issues with Transmission accessing the script unless I have missed something here.

The /home/user/script.sh file is as follows:

#!/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

I know it is poor form to use a sudo command in this fashion, but I can execute the script on it's own and it will work correctly. I am not sure why Transmission is not executing the script. Transmission supports some environment variables such as TR_TORRENT_NAME that I would like to use once the script is being triggered. Is there anything I am not setting up in the file that would prevent the script from working correctly and how would I use environment variables?

Any help would be greatly appreciated!

Answer

Stef picture Stef · Apr 2, 2020

Add the user who will execute the script to a group with default sudo access.


Fedora - add user to the wheel group

sudo usermod -aG wheel $(whoami)

Ubuntu - user group: sudo or admin (deprecated)