26 lines
758 B
Bash
Executable File
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
|