Astroport.ONE/20h12.process.sh

131 lines
4.0 KiB
Bash
Raw Normal View History

#!/bin/bash
########################################################################
# Version: 0.4
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
########################################################################
MY_PATH="`dirname \"$0\"`" # relative
2024-02-11 19:46:02 +01:00
MY_PATH="`( cd \"${MY_PATH}\" && pwd )`" # absolutized and normalized
. "${MY_PATH}/tools/my.sh"
2022-09-12 11:36:39 +02:00
start=`date +%s`
2022-12-29 14:51:05 +01:00
echo "20H12 (♥‿‿♥) $(hostname -f) $(date)"
2022-11-17 13:15:23 +01:00
espeak "Ding" > /dev/null 2>&1
## IPFS DAEMON STATUS
2023-04-14 17:42:58 +02:00
LOWMODE=$(sudo systemctl status ipfs | grep disabled) ## IPFS DISABLED - START ONLY FOR SYNC -
2024-01-12 21:04:18 +01:00
[[ ! $(netstat -tan | grep 5001 | grep LISTEN) ]] && LOWMODE="NO 5001" ## IPFS IS STOPPED
[[ ! $isLAN ]] && LOWMODE="" ## LOWMODE ONLY FOR LAN STATION
2022-09-23 14:57:04 +02:00
# echo "$USER ALL=(ALL) NOPASSWD:/bin/systemctl" | (sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/systemctl')
2023-10-26 14:41:38 +02:00
sudo systemctl restart ipfs && sleep 10
2024-01-19 15:48:21 +01:00
floop=0
while [[ ! $(netstat -tan | grep 5001 | grep LISTEN) ]]; do
sleep 10
2024-01-22 17:45:05 +01:00
((floop++)) && [ $floop -gt 36 ] \
2024-01-19 15:48:21 +01:00
&& echo "ERROR. IPFS daemon not restarting" \
2024-02-11 19:46:02 +01:00
&& ${MY_PATH}/tools/mailjet.sh "support@qo-op.com" "/tmp/20h12.log" "IPFS RESTART ERROR 20H12" \
2024-01-22 17:45:05 +01:00
&& exit 1
2024-01-19 15:48:21 +01:00
done
2023-12-18 15:32:45 +01:00
# espeak "CODE git pull" > /dev/null 2>&1
2022-11-17 13:15:23 +01:00
2024-01-19 15:48:21 +01:00
## REMOVE TMP BUT KEEP SWARM
mv ~/.zen/tmp/swarm ~/.zen/swarm
mv ~/.zen/tmp/coucou ~/.zen/coucou
rm -Rf ~/.zen/tmp/*
mv ~/.zen/swarm ~/.zen/tmp/swarm
mv ~/.zen/coucou ~/.zen/tmp/coucou
## UPDATE G1BILLETS code
2023-04-08 15:20:16 +02:00
[[ -s ~/.zen/G1BILLET/G1BILLETS.sh ]] \
&& cd ~/.zen/G1BILLET/ && git pull \
&& rm -Rf ~/.zen/G1BILLET/tmp/*
2023-04-05 14:48:08 +02:00
2024-01-19 15:48:21 +01:00
## UPDATE Astroport.ONE code
2022-09-14 14:29:19 +02:00
cd ~/.zen/Astroport.ONE/
git pull
2023-04-05 14:48:08 +02:00
2022-10-01 16:18:15 +02:00
## SOON /ipns/ Address !!!
2022-09-14 14:29:19 +02:00
2023-12-18 15:32:45 +01:00
# espeak "20 HOURS 12 MINUTES. ASTROBOT RUNNING." > /dev/null 2>&1
2022-12-18 21:26:57 +01:00
## Updating yt-dlp
2024-02-11 19:46:02 +01:00
${MY_PATH}/youtube-dl.sh
2022-12-18 21:26:57 +01:00
sudo youtube-dl -U
2022-10-01 16:18:15 +02:00
# Refresh ~/.zen/game/world/G1VOEU
2023-06-30 13:50:34 +02:00
# NOW RUN FROM PLAYER.refresh.sh !! ~/.zen/Astroport.ONE/RUNTIME/VOEUX.refresh.sh
2022-09-12 11:36:39 +02:00
2023-12-18 15:32:45 +01:00
# espeak "Players refresh" > /dev/null 2>&1
2022-10-01 16:18:15 +02:00
# Refresh ~/.zen/game/players/PLAYER
2023-06-30 13:50:34 +02:00
~/.zen/Astroport.ONE/RUNTIME/PLAYER.refresh.sh
2022-09-12 11:36:39 +02:00
2023-12-18 15:32:45 +01:00
# espeak "REFRESHING UPLANET" > /dev/null 2>&1
~/.zen/Astroport.ONE/RUNTIME/UPLANET.refresh.sh
2023-12-18 15:32:45 +01:00
# espeak "REFRESHING NODE" > /dev/null 2>&1
2023-12-07 15:09:54 +01:00
~/.zen/Astroport.ONE/RUNTIME/NODE.refresh.sh
## if [[ ! $isLAN ]]; then
## REFRESH BOOSTRAP LIST (OFFICIAL SWARM)
2022-12-25 23:39:22 +01:00
espeak "bootstrap refresh" > /dev/null 2>&1
ipfs bootstrap rm --all > /dev/null 2>&1
2023-10-26 11:09:19 +02:00
for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#") # remove comments
do
ipfsnodeid=${bootnode##*/}
ipfs bootstrap add $bootnode
done
2023-10-26 11:09:19 +02:00
## fi
2022-09-23 14:57:04 +02:00
2022-09-12 11:36:39 +02:00
########################################################################
end=`date +%s`
2022-12-09 02:54:13 +01:00
dur=`expr $end - $start`
2023-12-18 15:32:45 +01:00
hours=$((dur / 3600))
minutes=$(( (dur % 3600) / 60 ))
seconds=$((dur % 60))
echo "DURATION ${hours} hours ${minutes} minutes ${seconds} seconds"
echo "20H12 (♥‿‿♥) Execution time was $dur seconds."
2022-11-04 20:08:33 +01:00
2024-02-11 19:46:02 +01:00
## DRAGON SSH WOT
2024-02-11 20:30:43 +01:00
echo "STOP DRAGONS WOT"
2024-02-11 19:46:02 +01:00
${MY_PATH}/tools/DRAGON_p2p_ssh.sh off
## RESTART
2023-01-08 04:54:12 +01:00
## MAIL LOG : support@qo-op.com ##
2024-02-11 19:46:02 +01:00
${MY_PATH}/tools/mailjet.sh "support@qo-op.com" "/tmp/20h12.log" "20H12"
2022-11-04 20:08:33 +01:00
2023-12-18 15:32:45 +01:00
espeak "DURATION ${hours} hours ${minutes} minutes ${seconds} seconds" > /dev/null 2>&1
2022-12-25 23:39:22 +01:00
2023-12-18 15:32:45 +01:00
# espeak "Restarting Astroport Services" > /dev/null 2>&1
2022-12-25 23:39:22 +01:00
## CLOSING API PORT
[[ -s ~/.zen/.pid ]] && kill -9 $(cat ~/.zen/.pid) > /dev/null 2>&1
2023-02-03 22:35:05 +01:00
## KILL ALL REMAINING nc
killall nc 12345.sh > /dev/null 2>&1
2022-12-25 23:39:22 +01:00
## OPEN API ENGINE
2023-03-12 22:31:11 +01:00
if [[ ! -f /etc/systemd/system/astroport.service ]]; then
~/.zen/Astroport.ONE/12345.sh > ~/.zen/tmp/12345.log &
PID=$!
echo $PID > ~/.zen/.pid
else
2023-04-05 14:48:08 +02:00
sudo systemctl restart astroport
[[ -s ~/.zen/G1BILLET/G1BILLETS.sh ]] && sudo systemctl restart g1billet
echo "Astroport processes systemd restart"
2023-03-12 22:31:11 +01:00
fi
echo "IPFS LOW MODE ?"
## IF IPFS DAEMON DISABLED : WAIT 1H & STOP IT
[[ $LOWMODE != "" ]] \
2023-12-18 15:32:45 +01:00
&& echo "ON. $LOWMODE" \
&& sleep 360 \
2024-01-10 23:03:25 +01:00
&& sudo systemctl stop ipfs \
&& exit 0
echo "OFF. RESTART IPFS"
sleep 60
sudo systemctl restart ipfs
2024-02-11 20:30:43 +01:00
sleep 30
${MY_PATH}/tools/DRAGON_p2p_ssh.sh
2022-09-12 11:36:39 +02:00
exit 0