From 5ec015faaaf326c1ac12d38352c4c353d2ef6be2 Mon Sep 17 00:00:00 2001 From: Dominik Dzienia Date: Sun, 20 Oct 2024 12:18:59 +0000 Subject: [PATCH] Fixed update --- install.sh | 99 ++++++++++++++++++++++++++++++++++++++++++++---------- updated | 2 +- 2 files changed, 83 insertions(+), 18 deletions(-) diff --git a/install.sh b/install.sh index 244d601..05d1998 100644 --- a/install.sh +++ b/install.sh @@ -53,7 +53,7 @@ DISK_CRITICAL_WARNING=104857600 # == 100 MiB DISK_CRITICAL_MAIL=604800 # == 7 days in seconds DOCKER_DOWN_MAIL=604800 # == 7 days in seconds SCRIPT_VERSION="1.9.1" #auto-update -SCRIPT_BUILD_TIME="2024.10.19" #auto-update +SCRIPT_BUILD_TIME="2024.10.20" #auto-update #======================================= # SETUP @@ -151,6 +151,7 @@ emoji_note="\U1F4A1" uni_bullet=" $(printf '\u2022') " uni_copyright="$(printf '\uA9\uFE0F')" uni_bullet_pad=" " +uni_warn="$(printf "\U26A0")" uni_exit=" $(printf '\U274C') Wyjdź " uni_start=" $(printf '\U1F984') Zaczynamy " @@ -1143,7 +1144,7 @@ update_if_needed() { else local okTxt="" if [ "$redeploy" -gt 0 ]; then - okTxt="\n\n $(printf "\U26A0") Aktualizacja spowoduje też restart i aktualizację kontenerów $(printf "\U26A0")" + okTxt="${TL}${uni_warn} Aktualizacja spowoduje też restart i aktualizację kontenerów ${uni_warn}" fi whiptail --title "Aktualizacja skryptów" --yesno "Zalecana jest aktualizacja plików:\n\n${uni_bullet}Skrypt instalacyjny: $msgInst \n${uni_bullet}Konfiguracja deploymentu: $msgDep\n${uni_bullet}Konfiguracja Nightscout: $msgNs \n${uni_bullet}Kompozycja usług: $msgComp $okTxt" \ @@ -1890,6 +1891,28 @@ do_cleanup_container_logs() { msgok "Logi usunięte" } +do_cleanup_diagnostics() { + ohai "Sprzątanie diagnostyki" + rm -f "$SUPPORT_LOG" + rm -f "$SUPPORT_LOG.gz" + rm -f "$SUPPORT_LOG.gz.asc" +} + +do_cleanup_app_state() { + ohai "Sprzątanie stanu aplikacji" + rm -f "$UPDATE_CHANNEL_FILE" + rm -f "$EVENTS_DB" +} + +do_cleanup_app_logs() { + ohai "Sprzątanie logów aplikacji" + rm -f "$WATCHDOG_STATUS_FILE" + rm -f "$WATCHDOG_TIME_FILE" + rm -f "$WATCHDOG_LOG_FILE" + rm -f "$WATCHDOG_FAILURES_FILE" + rm -f "$WATCHDOG_CRON_LOG" +} + prompt_cleanup_container_logs() { yesnodlg "Usunąć logi kontenerów?" "$uni_delete" "$uni_leave_logs" \ "Czy chcesz usunąć logi kontenerów nightscout i bazy?" \ @@ -2072,7 +2095,14 @@ uninstall_menu() { "Edytor ustawień dostępny po uruchomieniu narzędzia komendą:" \ "${TL}nightscout-tool" else - whiptail --title "Edycja ustawień Nightscout" --yesno "Za chwilę otworzę plik konfiguracji Nightscout w edytorze NANO\n\nWskazówki co do obsługi edytora:\n${uni_bullet}Aby ZAPISAĆ zmiany naciśnij Ctrl+O\n${uni_bullet}Aby ZAKOŃCZYĆ edycję naciśnij Ctrl+X\n\n $(printf "\U26A0") Edycja spowoduje też restart i aktualizację kontenerów $(printf "\U26A0")" --yes-button "$uni_confirm_ed" --no-button "$uni_resign" 15 68 + yesnodlg "Edycja ustawień Nightscout" "$uni_confirm_ed" "$uni_resign" \ + "Za chwilę otworzę plik konfiguracji Nightscout w edytorze NANO" \ + "$(pad_multiline \ + "${TL}Wskazówki co do obsługi edytora:" \ + "${NL}${uni_bullet}Aby ZAPISAĆ zmiany naciśnij Ctrl+O" \ + "${NL}${uni_bullet}Aby ZAKOŃCZYĆ edycję naciśnij Ctrl+X")" \ + "${TL}${uni_warn} Edycja spowoduje też restart i aktualizację kontenerów ${uni_warn}" + if ! [ $? -eq 1 ]; then event_mark "edit_env_manual" nano "$ENV_FILE_NS" @@ -2082,14 +2112,26 @@ uninstall_menu() { fi ;; "K)") - whiptail --title "Usunąć kontenery?" --yesno --defaultno "Czy na pewno chcesz usunąć kontenery powiązane z Nightscout?\n\n${uni_bullet}dane i konfiguracja NIE SĄ usuwane\n${uni_bullet}kontenery można łatwo odzyskać (opcja Aktualizuj kontenery)" --yes-button "$uni_confirm_del" --no-button "$uni_resign" 11 73 + noyesdlg "Usunąć kontenery?" "$uni_confirm_del" "$uni_resign" \ + "Czy na pewno chcesz usunąć kontenery powiązane z Nightscout?" \ + "$(pad_multiline \ + "${TL}${uni_bullet}dane i konfiguracja NIE SĄ usuwane" \ + "${NL}${uni_bullet}kontenery można łatwo odzyskać (opcja Aktualizuj kontenery)")" + if ! [ $? -eq 1 ]; then event_mark "remove_containers" docker_compose_down fi ;; "B)") - whiptail --title "Usunąć dane z bazy danych?" --yesno --defaultno "Czy na pewno chcesz usunąć dane z bazy danych?\n\n${uni_bullet}konfiguracja serwera NIE ZOSTANIE usunięta\n${uni_bullet}usunięte zostaną wszystkie dane użytkownika\n${uni_bullet_pad} (m.in. historia glikemii, wpisy, notatki, pomiary, profile)\n${uni_bullet}kontenery zostaną zatrzymane i uruchomione ponownie (zaktualizowane)" --yes-button "$uni_confirm_del" --no-button "$uni_resign" 13 78 + noyesdlg "Usunąć dane z bazy danych?" "$uni_confirm_del" "$uni_resign" \ + "Czy na pewno chcesz usunąć dane z bazy danych?" \ + "$(pad_multiline \ + "${TL}${uni_bullet}konfiguracja serwera NIE ZOSTANIE usunięta" \ + "${NL}${uni_bullet}usunięte zostaną wszystkie dane użytkownika" \ + "${NL}${uni_bullet_pad} (m.in. historia glikemii, wpisy, notatki, pomiary, profile)" \ + "${NL}${uni_bullet}kontenery zostaną zatrzymane i uruchomione ponownie (zaktualizowane)")" + if ! [ $? -eq 1 ]; then docker_compose_down dialog --title " Czyszczenie bazy danych " --infobox "\n Usuwanie plików bazy\n ... Proszę czekać ..." 6 32 @@ -2099,7 +2141,14 @@ uninstall_menu() { fi ;; "D)") - whiptail --title "Usunąć wszystkie dane?" --yesno --defaultno "Czy na pewno chcesz usunąć wszystkie dane i konfigurację?\n\n${uni_bullet}konfigurację panelu, ustawienia Nightscout\n${uni_bullet}wszystkie dane użytkownika\n${uni_bullet_pad} (m.in. historia glikemii, wpisy, notatki, pomiary, profile)\n${uni_bullet}kontenery zostaną zatrzymane" --yes-button "$uni_confirm_del" --no-button "$uni_resign" 13 78 + noyesdlg "Usunąć wszystkie dane?" "$uni_confirm_del" "$uni_resign" \ + "Czy na pewno chcesz usunąć wszystkie dane i konfigurację?" \ + "$(pad_multiline \ + "${TL}${uni_bullet}konfigurację panelu, ustawienia Nightscout" \ + "${NL}${uni_bullet}wszystkie dane użytkownika" \ + "${NL}${uni_bullet_pad}(m.in. glikemia, wpisy, notatki, pomiary, profile)" \ + "${NL}${uni_bullet}kontenery zostaną zatrzymane")" + if ! [ $? -eq 1 ]; then docker_compose_down dialog --title " Czyszczenie bazy danych" --infobox "\n Usuwanie plików bazy\n ... Proszę czekać ..." 6 32 @@ -2107,16 +2156,29 @@ uninstall_menu() { event_mark "remove_all_data" dialog --title " Czyszczenie konfiguracji" --infobox "\n Usuwanie konfiguracji\n ... Proszę czekać ..." 6 32 rm -r "${CONFIG_ROOT_DIR:?}" - whiptail --title "Usunięto dane użytkownika" --msgbox "$(center_multiline 65 \ + do_cleanup_diagnostics + do_cleanup_app_logs + + okdlg "Usunięto dane użytkownika" \ "Usunęto dane użytkwnika i konfigurację." \ "${TL}Aby zainstalować Nightscout od zera:" \ - "${NL}uruchom ponownie skrypt i podaj konfigurację")" \ - 11 70 + "${NL}uruchom ponownie skrypt i podaj konfigurację" + exit 0 fi ;; "U)") - whiptail --title "Odinstalować?" --yesno --defaultno "Czy na pewno chcesz usunąć wszystko?\n${uni_bullet}konfigurację panelu, ustawienia Nightscout\n${uni_bullet}wszystkie dane użytkownika (glikemia, status, profile)\n${uni_bullet}kontenery, skrypt nightscout-tool\n\nNIE ZOSTANĄ USUNIĘTE/ODINSTALOWANE:\n${uni_bullet}użytkownik mongo db, firewall, doinstalowane pakiety\n${uni_bullet}kopie zapasowe bazy danych" --yes-button "$uni_confirm_del" --no-button "$uni_resign" 16 78 + noyesdlg "Odinstalować?" "$uni_confirm_del" "$uni_resign" \ + "Czy na pewno chcesz usunąć wszystko?" \ + "$(pad_multiline \ + "${TL}${uni_bullet}konfigurację panelu, ustawienia Nightscout" \ + "${NL}${uni_bullet}wszystkie dane użytkownika (glikemia, status, profile)" \ + "${NL}${uni_bullet}kontenery, skrypt nightscout-tool")" \ + "${TL}NIE ZOSTANĄ USUNIĘTE/ODINSTALOWANE:" \ + "$(pad_multiline \ + "${TL}${uni_bullet}użytkownik mongo db, firewall, doinstalowane pakiety" \ + "${NL}${uni_bullet}kopie zapasowe bazy danych")" + if ! [ $? -eq 1 ]; then docker_compose_down dialog --title " Odinstalowanie" --infobox "\n Usuwanie plików\n ... Proszę czekać ..." 6 32 @@ -2126,13 +2188,17 @@ uninstall_menu() { rm "$TOOL_LINK" rm -r "${NIGHTSCOUT_ROOT_DIR:?}/tools" rm -r "${NIGHTSCOUT_ROOT_DIR:?}/updates" + do_cleanup_diagnostics + do_cleanup_app_logs + do_cleanup_app_state event_mark "uninstall" - whiptail --title "Odinstalowano" --msgbox "$(center_multiline 65 \ + + okdlg "Odinstalowano" \ "Odinstalowano Nightscout z Mikr.us-a" \ "${TL}Aby ponownie zainstalować, postępuj według instrukcji na stronie:" \ "${NL}https://t1d.dzienia.pl/mikrus" \ - "${TL}Dziękujemy i do zobaczenia!")" \ - 13 70 + "${TL}Dziękujemy i do zobaczenia!" + exit 0 fi ;; @@ -2170,6 +2236,8 @@ gather_diagnostics() { diagnosticsSizeOk=0 + do_cleanup_diagnostics + ohai "Zbieranie diagnostyki" local domain=$(get_td_domain) @@ -2178,10 +2246,6 @@ gather_diagnostics() { local LOG_DIVIDER="=======================================================" - rm -f "$SUPPORT_LOG" - rm -f "$SUPPORT_LOG.gz" - rm -f "$SUPPORT_LOG.gz.asc" - { echo "Dane diagnostyczne zebrane $curr_time" echo " serwer : $mikrus_h" @@ -2339,6 +2403,7 @@ send_diagnostics() { local regexEm='Email sent' if [[ "$sentStatus" =~ $regexEm ]]; then + do_cleanup_diagnostics msgcheck "Mail wysłany!" okdlg "Diagnostyka wysłana" \ "Sprawdź swoją skrzynkę pocztową,\n" \ diff --git a/updated b/updated index 8ca4525..302a8c9 100644 --- a/updated +++ b/updated @@ -1 +1 @@ -2024-10-19T21:32:04.200Z \ No newline at end of file +2024-10-20T12:07:40.865Z \ No newline at end of file