astroport/cron_MINUTE.sh

93 lines
3.4 KiB
Bash
Raw Normal View History

2020-05-07 17:34:16 +02:00
#!/bin/bash
########################################################################
# Author: Fred (support@qo-op.com)
2020-05-07 17:40:38 +02:00
# Version: 0.2
2020-05-07 17:34:16 +02:00
# 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##*/}"
2020-05-08 06:05:47 +02:00
[[ ! $(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
2020-05-07 17:34:16 +02:00
ipfsnodeid=$(/usr/local/bin/ipfs id -f='<id>\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
2020-05-08 04:06:46 +02:00
[[ $(($minute % 5)) == 0 ]] && sleep $((1 + RANDOM % 12)) && cd $MY_PATH && git pull
2020-05-07 17:34:16 +02:00
# 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