summaryrefslogtreecommitdiff
path: root/genesis_sync_progress.sh
blob: 8735e0e6244fc4e04cd6e92ebe077023419024bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/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