From 1f4f662c73fbeb525cf15abfb6b66bd3a5bdd6d3 Mon Sep 17 00:00:00 2001 From: qo-op Date: Thu, 7 May 2020 17:34:16 +0200 Subject: [PATCH] Astroport Brain - DEV mood --- cron_MINUTE.sh | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 cron_MINUTE.sh diff --git a/cron_MINUTE.sh b/cron_MINUTE.sh new file mode 100644 index 0000000..99aef2d --- /dev/null +++ b/cron_MINUTE.sh @@ -0,0 +1,92 @@ +#!/bin/bash +######################################################################## +# Author: Fred (support@qo-op.com) +# Version: 0.1 +# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) +######################################################################## +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +ME="${0##*/}" + +[[ ! $(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) ]] && echo "ipfs daemon not running. EXIT" && exit 1 + +ipfsnodeid=$(/usr/local/bin/ipfs id -f='\n') +g1pub=$(cat ~/.ssb/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2) + +# UNIVERSAL TIME (TODO ntpdate, but sudo problem) +minute=$(date -u +%M) +heure=$(date -u +%H) +timebar="$heure:$minute" +jourdelasemaine=$(date +%w) +jourdumois=$(date +%d) +numerosemaine=$(date +%V) +echo $timebar +# TIME NTP SYNC: TODO: Problem being root (stickybit INSTALL?) +# sudo ntpdate ntp.pool.org + +# #SWARM0 DEV MODE +# ACTIVATE 5 MN "git pull" update +[[ $(($minute % 5)) == 0 ]] && sleep $((1 + RANDOM % 12)) && git pull + + +# CORRECT PATH +[[ ! $(echo $PATH | grep "/usr/local/bin") ]] && export PATH="$PATH:/usr/local/bin" +[[ ! $(echo $PATH | grep "~/.local/bin") ]] && export PATH="$PATH:~/.local/bin" + +################################################################## +# REFRESH IPFS SWARM DATA EVERY 12 minutes +[[ $(($minute % 12)) == 0 ]] && sleep $((1 + RANDOM % 10)) && $MY_PATH/zen/ssb_IPFS_swarm.sh +################################################################## + +################################################################## +# MONITOR INPUT TX (TODO: DEBUG) +# Activate later for DAB ZenTx Machines +# [[ $(($minute % 5)) == 0 ]] && sleep $((1 + RANDOM % 10)) && $MY_PATH/zen/g1_MONITOR_zen.sh "5 minutes" +################################################################## + +################################################################## +# YOUTUBE-DL +################################################################## +# RANDOMLY RUN SSB GET zenytv (avoid simultaneous run in swarm) +randh=$((1 + RANDOM % 24)) +# [[ $(($heure % $randh)) == 0 ]] && sleep $((1 + RANDOM % 10)) && $MY_PATH/zen/ssb_GET_zenytv.sh +################################################################## +randh=$((1 + RANDOM % 24)) +# [[ $(($heure % $randh)) == 0 ]] && sleep $((1 + RANDOM % 10)) && $MY_PATH/zen/ssb_GET_zenyta.sh +################################################################## + + +################################################################## +# MIDNIGHT:01 : ZENBOT CLEANING & UPDATE +if [[ "$timebar" == "00:01" ]]; then + sleep $((1 + RANDOM % 10)) + + # UPGRADE youtube-dl + youtube-dl --rm-cache-dir + youtube-dl -U + + sleep $((1 + RANDOM % 10)) + # LOG ROTATE EVERY SUNDAY + [[ $jourdelasemaine == 0 ]] && mv -f /tmp/astroport.log ~/.zen/astroport.$numerosemaine.log # LOG BACKUP FOR 1 YEAR !! + + sleep $((1 + RANDOM % 10)) + # GIT PULL + git pull # UPDATE CODE git pull + + # Clear 24h ssb_GET markers + rm ~/.zen/zenytv.last.ts + rm ~/.zen/zenyta.last.ts + + # SYNC SSB Friends with IPFS SWARM + $MY_PATH/zen/ssb_IPFS_swarm.sh + +fi +################################################################## + + +# MAXSTORAGE UPDATE EVERY MONTH +if [[ $jourdumois == 7 ]]; then + availableDiskSize=$(df -P ~/ | awk 'NR>1{sum+=$4}END{print sum}') + diskSize="$((availableDiskSize / 2))" + ipfs config Datastore.StorageMax $diskSize +fi