From d689f31040c23d57477ff70d94f4928fc10aa07a Mon Sep 17 00:00:00 2001 From: Andrea Richiardi Date: Fri, 7 Jul 2023 15:49:11 -0600 Subject: [PATCH 1/5] Improve tracker-add-auto.sh output --- tracker-add-auto.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tracker-add-auto.sh b/tracker-add-auto.sh index 2acd3d2..7a2a480 100644 --- a/tracker-add-auto.sh +++ b/tracker-add-auto.sh @@ -14,15 +14,15 @@ while true; do trackerslist=/tmp/trackers.txt for base_url in $trackers; do if [ ! -f $trackerslist ]; then - curl -o "$trackerslist" "${base_url}" + curl -s --output /dev/null --show-error -o "$trackerslist" "${base_url}" fi Local=$(wc -c <$trackerslist) Remote=$(curl -sI "${base_url}" | awk '/Content-Length/ {sub("\r",""); print $2}') if [ "$Local" != "$Remote" ]; then - curl -o "$trackerslist" "${base_url}" + curl -s --output /dev/null --show-error -o "$trackerslist" "${base_url}" fi echo "URL for ${base_url}" - echo "Adding trackers for $torrent_name..." + echo "Adding trackers for \"$torrent_name\" ($torrent_hash)..." for tracker in $(cat $trackerslist); do echo -n "${tracker}..." if transmission-remote "$host" --auth="$auth" --torrent "${torrent_hash}" -td "${tracker}" | grep -q 'success'; then @@ -54,7 +54,11 @@ while true; do torrent_name="$(transmission-remote "$host" --auth="$auth" --torrent "$id" --info | grep '^ Name: ' | cut -c 9-)" add_trackers "$hash" "$id" & touch "/tmp/TTAA.$id.lock" + else + echo "Skipping. Torrent #$id ($hash) was just added." fi + else + echo "Trackers already added for torrent #$id. A file lock was found." fi done done From 79dd75532962f93ef5521e0015ddad773144b025 Mon Sep 17 00:00:00 2001 From: Andrea Richiardi Date: Fri, 7 Jul 2023 15:49:36 -0600 Subject: [PATCH 2/5] Skip header when retrieving the list of torrents --- tracker-add-auto.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tracker-add-auto.sh b/tracker-add-auto.sh index 7a2a480..2fe912b 100644 --- a/tracker-add-auto.sh +++ b/tracker-add-auto.sh @@ -35,8 +35,9 @@ while true; do sleep 3m rm -f "/tmp/TTAA.$id.lock" } + # Get list of active torrents - ids="$(transmission-remote "$host" --auth="$auth" --list | grep -vE 'Seeding|Stopped|Finished|[[:space:]]100%[[:space:]]' | grep '^ ' | awk '{ print $1 }')" + ids="$(transmission-remote "$host" --auth="$auth" --list | tail -n +2 | grep -vE 'Seeding|Stopped|Finished|[[:space:]]100%[[:space:]]' | grep '^ ' | awk '{ print $1 }')" for id in $ids; do add_date="$(transmission-remote "$host" --auth="$auth" --torrent "$id" --info | grep '^ Date added: ' | cut -c 21-)" add_date_t="$(date -d "$add_date" "+%Y-%m-%d %H:%M")" From 210eb1f36eb2b36279f8c88b024802c4585fb0e3 Mon Sep 17 00:00:00 2001 From: Andrea Richiardi Date: Fri, 7 Jul 2023 15:49:57 -0600 Subject: [PATCH 3/5] Follow opt dir convention in service file --- transmission-tracker-add.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/transmission-tracker-add.service b/transmission-tracker-add.service index 42d74f0..1070d15 100644 --- a/transmission-tracker-add.service +++ b/transmission-tracker-add.service @@ -6,7 +6,7 @@ Requires=network.target ### use non root user example below: #User=debian-transmission Type=simple -ExecStart=/opt/bin/add-trackers-auto.sh +ExecStart=/opt/tracker-add/bin/tracker-add-auto.sh ExecStop=/bin/kill -s TERM $MAINPID ExecStopPost=/bin/rm -f /tmp/TTAA.*.lock KillMode=control-group From 962a5fd6c157f58d07749396939539014c1cb12f Mon Sep 17 00:00:00 2001 From: Andrea Richiardi Date: Fri, 7 Jul 2023 15:50:29 -0600 Subject: [PATCH 4/5] Make wildcard works in service's ExecStopPost --- transmission-tracker-add.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/transmission-tracker-add.service b/transmission-tracker-add.service index 1070d15..edd7c8b 100644 --- a/transmission-tracker-add.service +++ b/transmission-tracker-add.service @@ -8,7 +8,7 @@ Requires=network.target Type=simple ExecStart=/opt/tracker-add/bin/tracker-add-auto.sh ExecStop=/bin/kill -s TERM $MAINPID -ExecStopPost=/bin/rm -f /tmp/TTAA.*.lock +ExecStopPost=/bin/sh -c '/bin/rm -vf /tmp/TTAA.*.lock' KillMode=control-group StandardOutput=null CPUSchedulingPolicy=idle From 1a656797523f7e2b28915098344e4f5902e72d2a Mon Sep 17 00:00:00 2001 From: Andrea Richiardi Date: Fri, 7 Jul 2023 15:50:53 -0600 Subject: [PATCH 5/5] Make service output to journal --- transmission-tracker-add.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/transmission-tracker-add.service b/transmission-tracker-add.service index edd7c8b..1342ef9 100644 --- a/transmission-tracker-add.service +++ b/transmission-tracker-add.service @@ -10,7 +10,7 @@ ExecStart=/opt/tracker-add/bin/tracker-add-auto.sh ExecStop=/bin/kill -s TERM $MAINPID ExecStopPost=/bin/sh -c '/bin/rm -vf /tmp/TTAA.*.lock' KillMode=control-group -StandardOutput=null +StandardOutput=journal CPUSchedulingPolicy=idle Nice=19