diff options
Diffstat (limited to 'src/cron.sh')
-rw-r--r-- | src/cron.sh | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/cron.sh b/src/cron.sh new file mode 100644 index 0000000..1ce9e65 --- /dev/null +++ b/src/cron.sh @@ -0,0 +1,46 @@ +#!/bin/bash +set -euo pipefail + +declare -A tag_age +i=0 +while true; do + key="DELETE_TAG_${i}" + val="DELETE_AGE_${i}" + if [ -z "${!key:-}" ]; then + break + fi + tag_age["${!key}"]="${!val}" + i=$((i + 1)) +done + +declare -A unlinked_tag_age +i=0 +while true; do + key="DELETE_UNLINKED_TAG_${i}" + val="DELETE_UNLINKED_AGE_${i}" + if [ -z "${!key:-}" ]; then + break + fi + unlinked_tag_age["${!key}"]="${!val}" + i=$((i + 1)) +done + +timeout "${SCRIPT_TIMEOUT}" "${PYTHON_PATH}" "${SCRIPT_PREFIX}"/tag-based-on-dir.py \ + --host "${TRANSMISSION_HOST}" + +timeout "${SCRIPT_TIMEOUT}" "${PYTHON_PATH}" "${SCRIPT_PREFIX}"/ask-tracker-for-more-peers.py \ + --host "${TRANSMISSION_HOST}" + +for key in "${!tag_age[@]}"; do + timeout "${SCRIPT_TIMEOUT}" "${PYTHON_PATH}" "${SCRIPT_PREFIX}"/delete-based-on-tag.py \ + --host "${TRANSMISSION_HOST}" \ + --tag "${key}" \ + --age "${tag_age[$key]}" +done + +for key in "${!unlinked_tag_age[@]}"; do + timeout "${SCRIPT_TIMEOUT}" "${PYTHON_PATH}" "${SCRIPT_PREFIX}"/delete-if-unlinked.py \ + --host "${TRANSMISSION_HOST}" \ + --tag "${key}" \ + --min-age "${unlinked_tag_age[$key]}" +done |