update torrent upload script

This commit is contained in:
2026-04-11 14:51:48 -04:00
parent 32338c14ec
commit 584b303142
2 changed files with 43 additions and 4 deletions
+43
View File
@@ -0,0 +1,43 @@
#!/usr/bin/env bash
SESSION_NAMES=("radarr" "sonarr")
LOGFILE="${HOME}/screen_sessions.log"
# Map window names to commands (commands run as shells; use full paths or quotes if needed)
declare -A CMD_FOR_SESSION=(
[radarr]='sudo rclone move --config /etc/rclone.conf --transfers 30 -P /mnt/tmpMedia/radarr data:enc/mnt/mega/app_data/complete_torrent_downloads'
[sonarr]='sudo rclone move --config /etc/rclone.conf --transfers 30 -P /mnt/tmpMedia/sonarr data:enc/mnt/mega/app_data/complete_torrent_downloads'
)
timestamp(){ date --iso-8601=seconds; }
session_exists(){
local name="$1"
# screen -ls output contains lines like "1234.name"
screen -ls 2>/dev/null | awk '{print $1}' | grep -Eq "\.${name}(\s|$)"
}
ensure_session(){
local name="$1"
local cmd="$2"
if session_exists "$name"; then
echo "$(timestamp) - Session '$name' already exists." >>"$LOGFILE"
return 0
fi
# Start detached session named $name and run the command in its primary window
# Use -S name -d -m to start detached, then run a shell to evaluate the command
screen -S "$name" -d -m bash -lc "$cmd"
if [ $? -eq 0 ]; then
echo "$(timestamp) - Created session '$name' with command: $cmd" >>"$LOGFILE"
else
echo "$(timestamp) - FAILED to create session '$name' (command: $cmd)" >>"$LOGFILE"
return 1
fi
}
for name in "${SESSION_NAMES[@]}"; do
cmd="${CMD_FOR_SESSION[$name]:-bash}" # default to interactive bash if no command provided
ensure_session "$name" "$cmd"
done
-4
View File
@@ -1,4 +0,0 @@
#!/usr/bin/env bash
sudo rclone move --config /etc/rclone.conf --transfers 30 -P /mnt/tmpMedia/radarr data:enc/mnt/mega/app_data/complete_torrent_downloads
sudo rclone move --config /etc/rclone.conf --transfers 30 -P /mnt/tmpMedia/sonarr data:enc/mnt/mega/app_data/complete_torrent_downloads