43 lines
1.5 KiB
Bash
Executable File
43 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
logfile=/var/log/wolfpack.log
|
|
target="$1"
|
|
dir=`sudo -u deluge deluge-console config download_location 2>/dev/null | head -n 1 | sed 's/ download_location: //'`
|
|
|
|
if [ -z "$target" ] || [ "$(ping -c 2 "$target" &>/dev/null; echo $?)" -ne 0 ]; then
|
|
echo Usage: $0 '[target]';
|
|
exit 1
|
|
fi
|
|
ssh $target mkdir -p /srv/yggdrasil/new_acquisition
|
|
sudo -u deluge deluge-console info 2>/dev/null | (
|
|
unset name;
|
|
unset id;
|
|
unset state;
|
|
while read line; do
|
|
case "$line" in
|
|
"Name:"*) name="$(echo $line | sed 's/Name: //')"; ;;
|
|
"State:"*) state="$(echo $line | cut -f 2 -d ' ')"; ;;
|
|
"ID:"*) id="$(echo $line | sed 's/ID: //')"; ;;
|
|
*)
|
|
if [ ! -z "$name" ] && [ ! -z "$id" ] && [ ! -z "$state" ]; then
|
|
echo Found "$name" "($id)" with state "$state"
|
|
if [ -e "$dir"'/'"$name" ]; then
|
|
echo "$name" exists on disk.
|
|
fi
|
|
if [ "$state" == "Seeding" ]; then
|
|
sudo -u deluge deluge-console 2>/dev/null rm "$id";
|
|
rsync -avz "$dir"'/'"$name" $target:/srv/yggdrasil/new_acquisition
|
|
ret="$?"
|
|
if [ "$ret" -eq 0 ]; then
|
|
rm -Rf "$dir"'/'"$name"
|
|
else
|
|
echo "ERROR: Return was $ret" >> "$dir"/"$name"/error.log
|
|
fi
|
|
fi;
|
|
unset name; unset id; unset state;
|
|
fi ;;
|
|
esac
|
|
done)
|
|
cat /var/log/wolfpack.log | ssh $target /bin/bash -c 'cat >> /var/log/wolfpack.log'
|
|
cat /dev/null > /var/log/wolfpack.log
|