#!/bin/bash
exec {lock_fd}>~/$(basename $0).pid || exit 1
flock -n "$lock_fd" || { echo "ERROR: flock() failed." >&2; exit 1; }
dir="/var/lib/deluged/Downloads/Completed/Upload"
rclone="/var/lib/deluged/.config/rclone/rclone.conf"
var=$(ls -1 $dir;echo 1;)
if [ -f $rclone ]; then
printf %s "$var" | while IFS= read -r line
do
grep "^\[$line\]$" $rclone > /dev/null
if [ $? -eq 0 ]; then
echo remote "$line:" exists. geting stats about free disk space
free_space=$(rclone about --full $line: | grep ^Free | grep -o -E "[0-9]+")
echo "\"$free_space\" <== free disk space on remote"
sizeOfToDo=$(du -b $dir/$line | tail -1 | grep -o -E "^[0-9]+")
echo "\"$sizeOfToDo\" <== size of the upload dir"
if [ "$sizeOfToDo" -lt "$free_space" ]; then
echo "this can fit on remote destination"
if [ -d "$dir/$line/move" ]; then
tree $dir/$line/move
rclone move --delete-empty-src-dirs $dir/$line/move $line:
fi
if [ -d "$dir/$line/sync" ] ; then
tree $dir/$line/sync
rclone sync --delete-empty-src-dirs $dir/$line/sync $line:
fi
fi
# list all files on remote
rclone ls $line:
else
echo $line remote does not exist
fi
done
else
echo rclone.conf no not exist
fi
flock -u "$lock_fd"
No comments:
Post a Comment