bin-there-done-that/miscellaneous/bash/bin/genesis_sync_progress.sh

26 lines
758 B
Bash
Executable File

#!/bin/bash
# GenesisSync Progress Tracker - No hangs, no nonsense
SOURCE="/mnt/raid5/minio-data/linodeassets"
DEST="/assets/minio-data/mastodon"
LOG="/root/genesis_sync_progress.log"
INTERVAL=300 # in seconds
mkdir -p $(dirname "$LOG")
while true; do
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
SRC_COUNT=$(rclone size "$SOURCE" --json | jq .objects)
DST_COUNT=$(rclone size "$DEST" --json | jq .objects)
if [[ -z "$SRC_COUNT" || -z "$DST_COUNT" ]]; then
echo "[$TIMESTAMP] Error getting file counts. Retrying in $INTERVAL seconds..." | tee -a "$LOG"
else
PERCENT=$(( DST_COUNT * 100 / SRC_COUNT ))
echo "[$TIMESTAMP] Synced: $DST_COUNT / $SRC_COUNT ($PERCENT%)" | tee -a "$LOG"
fi
sleep $INTERVAL
done