Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save rossdargan/6438808a8698714013f1b9919d36cf62 to your computer and use it in GitHub Desktop.
Save rossdargan/6438808a8698714013f1b9919d36cf62 to your computer and use it in GitHub Desktop.
Transmission-Daemon: Remove Completed Torrents
#!/bin/bash
# script to check for complete torrents in transmission folder.
USER=Username here
PASS=password here
PROCESSING_FOLDER="/data/completed/process"
CUTOFF_EPOCH=`date -d "15 days ago" +%s`
# 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 -n $USER:$PASS --list | sed -e '1d;$d;s/^ *//' | cut --only-delimited -d ' ' --fields=1`
# for each torrent in the list
for TORRENTID in $TORRENTLIST
do
TORRENTID=`echo $TORRENTID | sed 's:*::'`
TORRENT_NAME=`transmission-remote -n $USER:$PASS -t $TORRENTID -i|grep "Name:"|sed 's/.*Name: \(.*\)/\1/'`
FINISHED_DATE=`transmission-remote -n $USER:$PASS -t $TORRENTID -i | grep "Date finished" | sed 's/.*\w\w\w \(\w\w\w .*\)/\1/'`
if [ "$FINISHED_DATE" != "" ]
then
FINISHED_EPOCH=`date -d "$FINISHED_DATE" +%s`
# echo $TORRENT_NAME
LOCATION=`transmission-remote -n $USER:$PASS -t $TORRENTID -i|grep "Location: "`
if [ "$LOCATION"=" Location: $PROCESSING_Folder" ]
then
if [ $(( $FINISHED_EPOCH - $CUTOFF_EPOCH )) -lt 0 ]
then
echo "Removing $TORRENT_NAME"
transmission-remote -n $USER:$PASS -t $TORRENTID --remove-and-delete
fi
fi
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment