-
-
Save bulljit/791609 to your computer and use it in GitHub Desktop.
| #!/bin/sh | |
| # script to check for complete torrents in transmission folder, then stop and move them | |
| # either hard-code the MOVEDIR variable here… | |
| MOVEDIR=/home/mjdescy/media # the folder to move completed downloads to | |
| # …or set MOVEDIR using the first command-line argument | |
| # MOVEDIR=%1 | |
| # use transmission-remote to get torrent list from transmission-remote list | |
| # use sed to delete first / last line of output, and remove leading spaces | |
| # use cut to get first field from each line | |
| TORRENTLIST=`transmission-remote –list | sed -e ’1d;$d;s/^ *//’ | cut –only-delimited –delimiter= ” ” –fields=1` | |
| # for each torrent in the list | |
| for TORRENTID in $TORRENTLIST | |
| do | |
| TORRENTID=`echo “$TORRENTID” | sed ‘s:*::’` | |
| # removes asterisk * from torrent ID# which had error associated with it | |
| echo “* * * * * Operations on torrent ID $TORRENTID starting. * * * * *” | |
| # check if torrent download is completed | |
| DL_COMPLETED=`transmission-remote –torrent $TORRENTID –info | grep “Percent Done: 100%”` | |
| # check torrent’s current state is “Stopped”, “Finished”, or “Idle” | |
| STATE_STOPPED=`transmission-remote –torrent $TORRENTID –info | grep “State: Stopped\|Finished\|Idle”` | |
| # if the torrent is “Stopped”, “Finished”, or “Idle” after downloading 100%… | |
| if [ "$DL_COMPLETED" != "" ] && [ "$STATE_STOPPED" != "" ]; then | |
| # move the files and remove the torrent from Transmission | |
| echo “Torrent #$TORRENTID is completed.” | |
| echo “Moving downloaded file(s) to $MOVEDIR.” | |
| transmission-remote –torrent $TORRENTID –move $MOVEDIR | |
| echo “Removing torrent from list.” | |
| transmission-remote –torrent $TORRENTID –remove | |
| else | |
| echo “Torrent #$TORRENTID is not completed. Ignoring.” | |
| fi | |
| echo “* * * * * Operations on torrent ID $TORRENTID completed. * * * * *” | |
| done |
@scriptzteam Doesn't seem to work
is there a way to just delete them after 5 Days of seeding?
@Ryan747800B what not works ?? be specific please :)
Anyone from google may want to check out https://gist.github.com/onedr0p/8fd8455f08f4781cad9e01a1d65bc34f
Simple bash one-liner:
while read tid percent rest; do [[ "$percent" == "100%" ]] && transmission-remote -t ${tid/*/} -r; done < <(transmission-remote -l)
I forked then debugged and fixed the code to work on my SYnology NAS, transmission running inside Docker, in particular this container from @haugene. It was mostly small issues with parameters and quotes
I also added password authentication in case you have your Web UI password protected. If you don't, just remove the "-n $USER:$PASS" from all commands. I am using this to be triggered every time a torrent completes
Here it is:
https://gist.github.com/ffcruz85/6c9fb792fce4af0c4cb561fd653c86b6
The torrent files don't get moved to that folder on mine, but since I mostly had magnet links, it doesn't matter to me as long as it keeps removing from the torrent list.
Simple bash one-liner:
while read tid percent rest; do [[ "$percent" == "100%" ]] && transmission-remote -t ${tid/*/} -r; done < <(transmission-remote -l)
And where should we set this line? Just an sh running on a crontab? For instance I have this workflow where I run a watch command on transmission-remote -l which is showing me all the torrents and their progress. How can I fit this shell command you provide us? Can you kindly tell us? :)
doesn't seams to work anymore...