diff --git a/force-sync-loop-backup.sh b/force-sync-loop-backup.sh new file mode 100755 index 0000000..b29b868 --- /dev/null +++ b/force-sync-loop-backup.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +API_KEY=$(cat ~/qortal/apikey.txt) + +if [ "$#" -ne 2 ]; then + echo "Usage: $0 [1|2] " + exit 1 +fi + +OPTION=$1 +NODE=$2 + +log() { + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" +} + +case $OPTION in + 1) + while true; do + log "Deleting known peers" + ./qort DELETE peers/known + sleep 2 + + log "Adding peer: $NODE" + ./qort peers "$NODE" + sleep 3 + + for i in {1..7}; do + log "Forcing sync with: $NODE (attempt $i)" + ./qort admin/forcesync "$NODE" + sleep 3 + done + done + ;; + 2) + while true; do + log "Deleting known peers via curl" + curl -X DELETE localhost:12391/peers/known -H "X-API-KEY:$API_KEY" + sleep 2 + + log "Adding peer via curl: $NODE" + curl -X POST localhost:12391/peers -H "X-API-KEY:$API_KEY" -d "$NODE" + sleep 3 + + for i in {1..7}; do + log "Forcing sync via curl with: $NODE (attempt $i)" + curl -X POST localhost:12391/admin/forcesync -H "X-API-KEY:$API_KEY" -d "$NODE" + sleep 3 + done + done + ;; + *) + echo "Invalid option. Use 1 for qort script method or 2 for curl method." + exit 1 + ;; +esac + diff --git a/force-sync-loop.sh b/force-sync-loop.sh index b29b868..fc6439a 100755 --- a/force-sync-loop.sh +++ b/force-sync-loop.sh @@ -19,15 +19,20 @@ case $OPTION in while true; do log "Deleting known peers" ./qort DELETE peers/known - sleep 2 + sleep 3 log "Adding peer: $NODE" ./qort peers "$NODE" sleep 3 - for i in {1..7}; do + for i in {1..15}; do log "Forcing sync with: $NODE (attempt $i)" - ./qort admin/forcesync "$NODE" + RESPONSE=$(./qort admin/forcesync "$NODE") + if [[ "$RESPONSE" == *"true"* ]]; then + log "Sync successful, sleeping for 1 hour" + sleep 3600 + break + fi sleep 3 done done @@ -36,16 +41,21 @@ case $OPTION in while true; do log "Deleting known peers via curl" curl -X DELETE localhost:12391/peers/known -H "X-API-KEY:$API_KEY" - sleep 2 + sleep 1 log "Adding peer via curl: $NODE" curl -X POST localhost:12391/peers -H "X-API-KEY:$API_KEY" -d "$NODE" - sleep 3 + sleep 1 - for i in {1..7}; do + for i in {1..15}; do log "Forcing sync via curl with: $NODE (attempt $i)" - curl -X POST localhost:12391/admin/forcesync -H "X-API-KEY:$API_KEY" -d "$NODE" - sleep 3 + RESPONSE=$(curl -X POST localhost:12391/admin/forcesync -H "X-API-KEY:$API_KEY" -d "$NODE") + if [[ "$RESPONSE" == *"true"* ]]; then + log "Sync successful, sleeping for 1 hour" + sleep 3600 + break + fi + sleep 1 done done ;;