changed logic a bit, to sleep for an hour if result is true from sync attempt

This commit is contained in:
2024-10-22 11:55:33 -07:00
parent 2640738b00
commit 941d2bad8a
2 changed files with 75 additions and 8 deletions

57
force-sync-loop-backup.sh Executable file
View File

@@ -0,0 +1,57 @@
#!/bin/bash
API_KEY=$(cat ~/qortal/apikey.txt)
if [ "$#" -ne 2 ]; then
echo "Usage: $0 [1|2] <node>"
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