|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +MENU="Rclone Activity" |
| 4 | + |
| 5 | +source /opt/Gooby/menus/variables.sh |
| 6 | +source $CONFIGS/Docker/.env |
| 7 | + |
| 8 | +while true; do |
| 9 | + |
| 10 | + RAW=$(rclone rc --user ${RCLONEUSERNAME} --pass ${RCLONEPASSWORD} core/stats) |
| 11 | + JRAW=$(rclone rc --user ${RCLONEUSERNAME} --pass ${RCLONEPASSWORD} job/list) |
| 12 | + SDATE=$(date -d "-$(echo ${RAW} | jq '.elapsedTime') seconds" '+%F %H:%M:%S') |
| 13 | + GIG=$(echo ${RAW} | jq '.bytes /1024/1024/1024') |
| 14 | + CHECK=$(echo ${RAW} | jq .checks) |
| 15 | + DEL=$(echo ${RAW} | jq .deletes) |
| 16 | + ERR=$(echo ${RAW} | jq .errors) |
| 17 | + FT=$(echo ${RAW} | jq .transfers) |
| 18 | + |
| 19 | + TRANSFERS=$(echo ${RAW} | jq .transferring | jq length) |
| 20 | + SIZE=$(echo ${RAW} | jq '[.transferring[].size]' | jq 'add /1024/1024/1024') |
| 21 | + SPEED=$(echo ${RAW} | jq '[.transferring[].speed]' | jq 'add /1024/1024') |
| 22 | + FILES=$(echo ${RAW} | jq '[ .transferring[] | {name: .name, percent: .percentage} ]') |
| 23 | + QSIZE=$(echo ${JRAW} | jq .jobids | jq length) |
| 24 | + |
| 25 | + clear |
| 26 | + |
| 27 | + echo " ${LBLUE}" |
| 28 | + MENUSTART |
| 29 | + echo " Transfers Since Reboot/Cleanup" |
| 30 | + echo ----------------------------------------- |
| 31 | + echo -n " Startup Time : ${LBLUE}"${SDATE}; echo "${STD}" |
| 32 | + echo -n " Data transferred : ${LBLUE}"; printf "%'.2f" ${GIG}; echo " GB${STD}" |
| 33 | + echo -n " Files transferred : ${LBLUE}"; printf "%'d\n" ${FT}; echo -n "${STD}" |
| 34 | + echo -n " Checks completed : ${LBLUE}"; printf "%'d\n" ${CHECK}; echo -n "${STD}" |
| 35 | + echo -n " Deletes performed : ${LBLUE}"; printf "%'d\n" ${DEL}; echo -n "${STD}" |
| 36 | + echo -n " Errors occurred : ${LBLUE}"; printf "%'d\n" ${ERR}; echo -n "${STD}" |
| 37 | + echo |
| 38 | + echo " Transfers Real Time" |
| 39 | + echo ----------------------------------------- |
| 40 | + echo -n " Rclone Sync jobs : ${LBLUE}"; printf "%'d\n" ${QSIZE}; echo -n "${STD}" |
| 41 | + echo -n " Files in motion : ${LBLUE}"; printf "%'d\n" ${TRANSFERS}; echo -n "${STD}" |
| 42 | + echo -n " Size of files : ${LBLUE}"; printf "%'.2f" ${SIZE}; echo " GB${STD}" |
| 43 | + echo -n " Current speed : ${LBLUE}"; printf "%'.2f" ${SPEED}; echo " MB/sec${STD}" |
| 44 | + echo |
| 45 | + echo " Files transferring:"; echo ${FILES} | jq |
| 46 | + echo |
| 47 | + echo " ${WHITE}Z${STD} - EXIT to Main Menu" |
| 48 | + echo " ${LBLUE}" |
| 49 | + MENUEND |
| 50 | + |
| 51 | + sleep 1 |
| 52 | + |
| 53 | + read -t 0.25 -N 1 input |
| 54 | + if [[ $input = "z" ]] || [[ $input = "Z" ]]; then |
| 55 | + echo |
| 56 | + break |
| 57 | + fi |
| 58 | + |
| 59 | +done |
0 commit comments