You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mikrus-installer/src/utils_reminders.sh

160 lines
7.2 KiB
Bash

# shellcheck disable=SC2148
# shellcheck disable=SC2155
#dev-begin
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# IMPORTS
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# shellcheck source=./headers.sh
source ./headers.sh
#dev-end
#=======================================
# REMINDERS
#=======================================
free_space_check() {
lastTimeSpaceInfo=$(get_space_info)
local remainingB=$(echo "$lastTimeSpaceInfo" | awk '{print $3}')
local remainingTxt=$(echo "$lastTimeSpaceInfo" | awk '{print $3}' | numfmt --to iec-i --suffix=B)
if ((remainingB < DISK_LOW_WARNING)); then
if ((remainingB < DISK_CRITICAL_WARNING)); then
local lastCalled=$(get_since_last_time "disk_critical")
local domain=$(get_td_domain)
if ((lastCalled == -1)) || ((lastCalled > DISK_CRITICAL_MAIL)); then
set_last_time "disk_critical"
{
echo "Na twoim serwerze mikr.us z Nightscoutem (https://$domain) zostało krytycznie mało miejsca (${remainingTxt})!"
echo " "
echo "Tak mała ilość miejsca nie pozwala serwerowi na stabilne działanie!"
echo "🚨PILNIE🚨 posprzątaj na serwerze, aby to zrobić możesz:"
echo " "
echo "1. Usunąć stare statusy i wpisy z poziomu strony Nightscout:"
echo " - wejdź do hamburger menu strony Nightscout i wybierz: 【 Narzędzia administratora 】- wymaga zalogowania"
echo " to powinno otwórzyć adres: https://${domain}/admin"
echo " - w polach tekstowych poustawiaj ile dni historii chcesz zachować, i w odpowiednich sekcjach kliknij:"
echo " 【 Usuń stare dokumenty 】"
echo " "
echo "2. Posprzątać nieużywane pliki na serwerze mikr.us:"
echo " - zaloguj się na swój mikr.us do panelu administracyjnego, przejdź do WebSSH"
echo " https://mikr.us/panel/?a=webssh"
echo " - zaloguj się, uruchom narzędzie komendą: nightscout-tool"
echo " - wybierz: 【 C) Sprztąj... 】"
echo " - wybierz: 【 A) Posprzątaj wszystko 】 i potwierdź 【 Tak 】"
echo " - cierpliwie poczekaj, po sprzątaniu narzędzie pokaże ile miejsca zwolniono"
} | pusher "🚨_Krytycznie_mało_miejsca_na_Twoim_serwerze_Nightscout!"
echo "Free space on server: CRITICALLY LOW (${remainingTxt}) - sending email to user"
else
echo "Free space on server: CRITICALLY LOW (${remainingTxt}) - user already notified"
fi
else
local lastCalled=$(get_since_last_time "disk_warning")
local domain=$(get_td_domain)
if ((lastCalled == -1)) || ((lastCalled > DISK_LOW_MAIL)); then
set_last_time "disk_warning"
{
echo "Na twoim serwerze mikr.us z Nightscout-em (https://$domain) powoli kończy się miejsce (${remainingTxt})!"
echo " "
echo "🧹 W wolnej chwili posprzątaj na serwerze, aby to zrobić możesz:"
echo " "
echo "1. Usunąć stare statusy i wpisy z poziomu strony Nightscout:"
echo " - wejdź do hamburger menu strony Nightscout i wybierz:【 Narzędzia administratora 】- wymaga zalogowania"
echo " to powinno otwórzyć adres: https://${domain}/admin"
echo " - w polach tekstowych poustawiaj ile dni historii chcesz zachować, i w odpowiednich sekcjach kliknij:"
echo " 【 Usuń stare dokumenty 】"
echo " "
echo "2. Posprzątać nieużywane pliki na serwerze mikr.us:"
echo " - zaloguj się na swój mikr.us do panelu administracyjnego, przejdź do WebSSH"
echo " https://mikr.us/panel/?a=webssh"
echo " - zaloguj się, uruchom narzędzie komendą: nightscout-tool"
echo " - wybierz: 【 C) Sprztąj... 】"
echo " - wybierz: 【 A) Posprzątaj wszystko 】 i potwierdź 【 Tak 】"
echo " - cierpliwie poczekaj, po sprzątaniu narzędzie pokaże ile miejsca zwolniono"
} | pusher "🧹_Powoli_kończy_sie_miejsce_na_Twoim_serwerze_Nightscout!"
echo "Free space on server: LOW (${remainingTxt}) - sending email to user"
else
echo "Free space on server: LOW (${remainingTxt}) - user already notified"
fi
fi
else
clear_last_time "disk_critical"
clear_last_time "disk_warning"
echo "Free space on server: OK (${remainingTxt})"
fi
}
mail_restart_needed() {
local whyRestart="$1"
local mikrusSerwer=$(hostname)
{
echo "🛟 Twój serwer mikr.us z Nightscoutem potrzebuje restartu!"
echo " "
echo "🐕 Watchdog wykrył awarię której nie jest w stanie automatycznie naprawić:"
echo "$whyRestart"
echo " "
echo "Potrzebna będzie Twoja pomoc z ręcznym restartem serwera:"
echo " "
echo "1. Zaloguj się do panelu administracyjnego mikrusa"
echo " https://mikr.us/panel/"
echo " "
echo "2. Znajdź kafelek z nazwą serwera (${mikrusSerwer}) i kliknij na przycisk pod nim:"
echo " 【 Restart 】"
echo " "
echo "3. Potwierdź naciskając przycisk:"
echo " 【 Poproszę o restart VPSa 】"
echo " "
echo "=========================================================="
echo " "
echo "⏳ Restart serwera potrwa kilka minut, kolejne kilka minut potrwa uruchomienie serwera Nightscout"
echo "Jeśli po kilkunastu minutach serwer nie zacznie działać poprawnie:"
echo "Zaloguj się do panelu mikr.us-a, zaloguj się do WebSSH i w nightscout-tool sprawdź:"
echo "- czy kontenery są uruchomione - ich status i logi"
echo "- czy jest dosyć wolnego miejsca"
echo "W razie potrzeby - 🔄 zrestartuj kontenery i uruchom 🧹 sprzątanie (ale NIE usuwaj logów!)."
echo " "
echo "=========================================================="
echo " "
echo "Jeśli to nie pomoże, poszukaj wsparcia na grupie Technologie Diabetyka"
echo " 🙋 https://www.facebook.com/groups/techdiab"
echo "i - po uzgodnieniu!!! - wyślij diagnostykę do autora skryptu:"
echo " 📜 https://t1d.dzienia.pl/nightscout_mikrus_tutorial/stabilna/5.troubleshooting/#wysyanie-diagnostyki"
echo " "
} | pusher "🛟_Twoj_serwer_Nightscout_potrzebuje_ręcznego_restartu!"
}
update_background_check() {
download_if_needed
local lastDownload=$(read_or_default "$UPDATES_DIR/downloaded" "")
local updateInstalled=$(read_or_default "$UPDATES_DIR/updated" "")
if [ ! "$lastDownload" == "$updateInstalled" ] && [ ! "$lastDownload" == "" ] && [ ! "$lastDownload" == "error" ]; then
echo "Update needed"
local lastCalled=$(get_since_last_time "update_needed")
if ((lastCalled == -1)) || ((lastCalled > UPDATE_MAIL)); then
set_last_time "update_needed"
echo "Sending mail to user - tool update needed"
{
echo "✨ Na Twoim serwerze mikr.us z Nightscoutem można zaktualizować narzędzie nightscout-tool!"
echo " "
echo "🐕 Watchdog wykrył że dostępna jest nowa aktualizacja nightscout-tool."
echo "Na Twoim serwerze zainstalowana jest starsza wersja narzędzia - zaktualizuj go by poprawić stabilność systemu i uzyskać dostęp do nowych funkcji."
echo " "
echo "Aby zaktualizować narzędzie:"
echo " "
echo "1. Zaloguj się do panelu administracyjnego mikrusa i zaloguj się do WebSSH:"
echo " https://mikr.us/panel/?a=webssh"
echo " "
echo "2. Uruchom narzędzie komendą:"
echo " nightscout-tool"
echo " "
echo "3. Potwierdź naciskając przycisk:"
echo " 【 Aktualizacja 】"
echo " "
} | pusher "✨_Na_Twoim_serwerze_Nightscout_dostępna_jest_aktualizacja"
fi
fi
}