Naprawa trybu konserwacji NextCloud zablokowanego przez OCC

Kończysz aktualizację Nextcloud, ale wszyscy nadal widzą stronę konserwacji. Albo aktualizacja została przerwana i witryna nie wróciła do trybu online. Polecenie OCC, które wyłącza tryb konserwacji, jest krótkie, ale jego uruchomienie przed sprawdzeniem stanu aktualizacji może ujawnić niedokończoną instalację. Zacznij od potwierdzenia, którą instancją Nextcloud administrujesz i czy aktualizacja bazy danych jest nadal wymagana.

Przykład ilustrujący: Wyobraź sobie małe biuro z NextCloud na Ubuntu. Zaplanowana aktualizacja została przerwana po wdrożeniu nowych plików kodu, a strona internetowa nadal informuje, że serwer znajduje się w trybie konserwacji. Ten przykład jest hipotetyczny; to wątek służący do przeprowadzania poniższych kontroli, a nie raport z rzeczywistego incydentu lub testu.

Co oznacza tryb konserwacji

Tryb konserwacji Nextcloud blokuje normalny dostęp użytkownika, gdy administrator wykonuje prace takie jak aktualizacja lub tworzenie kopii zapasowej. Jest to stan obejmujący cały serwer, więc użytkownicy mogą zobaczyć powiadomienie o konserwacji nawet wtedy, gdy sam serwer WWW jest uruchomiony. Aktualny podręcznik administratora Nextcloud opisuje polecenie OCC służące do włączania lub wyłączania tego trybu i informuje, że po jego wyłączeniu użytkownicy mogą być zmuszeni do odświeżenia przeglądarki.

W przypadku przykładowego biura, sama strona konserwacji nie informuje administratora, czy aktualizacja się zakończyła. Przed zmianą trybu administrator musi skontaktować się z NextCloud.

Krok 1: Potwierdź typ instalacji i ścieżkę OCC

Poniższe przykłady poleceń dotyczą konwencjonalnej instalacji Nextcloud opartej na archiwum w systemie Ubuntu, z kodem /var/www/nextcloudi kontem serwera WWW o nazwie www-data. Dokumenty Nextcloud occznajdują się w katalogu instalacyjnym i muszą być uruchamiane jako użytkownik HTTP; w systemach Debian i Ubuntu tym użytkownikiem jest zazwyczaj www-data.

W przypadku tego standardowego układu należy wejść do katalogu instalacyjnego:

cd /var/www/nextcloud

Jeśli Twoje pliki Nextcloud znajdują się gdzie indziej, użyj tej konkretnej ścieżki. Snap, Docker, urządzenia i hosting zarządzany używają różnych wrapperów poleceń lub układów systemu plików. Nie uruchamiaj polecenia host w instalacji kontenera ani nie zakładaj, że ścieżka archiwum dotyczy tych wdrożeń. Postępuj zgodnie z instrukcjami aktualizacji dla wybranej metody instalacji, opisanymi w oficjalnym przewodniku aktualizacji Nextcloud .

W przykładzie biurowym administrator sprawdza notatki dotyczące wdrożenia i potwierdza, że ​​jest to instalacja archiwalna przed uruchomieniem OCC.

Krok 2: Sprawdź status NextCloud przed wyłączeniem konserwacji

Uruchom OCC jako konto serwera WWW, aby pliki i konfiguracja zachowały oczekiwanego właściciela:

sudo -E -u www-data php occ status

Spójrz na pola maintenancei needsDbUpgrade. Obecne wersje obsługują również kod wyjścia ze statusu:

sudo -E -u www-data php occ status -e
echo $?

Udokumentowane kody wyjścia są przydatne podczas sprawdzania danych wyjściowych przez skrypt: 0wskazują na normalną pracę, 1oznaczają włączony tryb konserwacji i 2oznaczają occ upgrade, że jest to wymagane. Należy również sprawdzić dane wyjściowe statusu; nie należy używać samego kodu wyjścia do podjęcia decyzji o ponownym otwarciu witryny.

W przypadku hipotetycznego serwera biurowego, jeśli needsDbUpgradewynik jest prawdziwy lub status -ezwraca 2, właściwym kolejnym krokiem jest ukończenie aktualizacji, a nie po prostu wyłączenie trybu konserwacyjnego.

Krok 3: Najpierw zakończ nieukończoną aktualizację

Jeśli aktualizacja kodu Nextcloud została wdrożona celowo, a OCC zgłasza konieczność aktualizacji bazy danych, przed kontynuacją należy wykonać lub zweryfikować aktualną kopię zapasową bazy danych, konfiguracji i danych. Następnie należy uruchomić udokumentowane polecenie z katalogu instalacyjnego:

sudo -E -u www-data php occ upgrade

Przeczytaj dane wyjściowe polecenia i poczekaj na jego zakończenie. Nie przerywaj go, ponieważ strona internetowa pozostaje niezmieniona podczas migracji. Wbudowany aktualizator może pozostawić włączony tryb konserwacji, gdy wymiana kodu lub jego occ upgradeawaria wystąpią. Jeśli sam aktualizator nie zakończył wymiany kodu, postępuj zgodnie z jego logiem i wznów odpowiedni proces aktualizacji dla instalacji, zamiast przechodzić bezpośrednio do . Instrukcje wbudowanego aktualizatoramaintenance:mode --off Nextcloud wyjaśniają fazy aktualizacji i identyfikują log aktualizatora jako zasób diagnostyczny.

W tym przykładzie administrator biura uruchomiłby polecenie tylko occ upgradewtedy, gdyby status wskazywał, że migracja bazy danych nadal trwa, a oczekiwany nowy kod jest już zainstalowany. Jeśli polecenie zgłosi błąd, administrator utrzymuje serwer niedostępnym i najpierw bada ten błąd.

Krok 4: Wyłącz tryb konserwacji za pomocą OCC

Gdy aktualizacja zostanie ukończona i status nie będzie już informował o konieczności aktualizacji bazy danych, wyłącz tryb konserwacji za pomocą wbudowanego polecenia Nextcloud:

sudo -E -u www-data php occ maintenance:mode --off

Pomyślne wykonanie polecenia informuje o wyłączeniu trybu konserwacji. Jest to obsługiwany sposób zmiany trybu w standardowej instalacji; pozwala on również zachować zmianę stanu w interfejsie poleceń NextCloud, zamiast polegać na ręcznej edycji pliku config.php.

Przykładowy administrator biura uruchamia teraz to polecenie dopiero po zakończeniu migracji. Jeśli aktualizacja nie była w toku, a status wskazywał, że instalacja jest gotowa, to samo polecenie może wyczyścić flagę konserwacji pozostawioną po planowanej konserwacji.

Krok 5: Sprawdź stan i interfejs sieciowy

Sprawdź status jeszcze raz:

sudo -E -u www-data php occ status
sudo -E -u www-data php occ status -e

Aby instalacja była gotowa, spodziewaj się maintenance: false, needsDbUpgrade: false, i normalnego kodu wyjścia 0. Następnie otwórz witrynę w nowym oknie przeglądarki prywatnej i zaloguj się na konto administratora. Poproś jednego ze zwykłych użytkowników o odświeżenie przeglądarki, zanim założysz, że jego sesja jest nadal zablokowana.

W przedstawionym scenariuszu sukces oznacza, że ​​zarówno status OCC, jak i strona internetowa potwierdzają, że instancja jest ponownie dostępna. Hipotetyczny przykład nie zakłada, że ​​jakiekolwiek polecenie zostało faktycznie uruchomione ani że rzeczywisty serwer został naprawiony.

Jeśli strona konserwacji pozostanie

OCC twierdzi, że konserwacja jest fałszywa

Upewnij się, że uruchomiłeś OCC na tej samej instalacji, która obsługuje adres URL. Ma to znaczenie w przypadku wdrożenia z równoważeniem obciążenia, hosta Docker z wieloma kontenerami lub serwera ze starymi i nowymi katalogami Nextcloud obok siebie. Sprawdź rzeczywisty katalog główny dokumentów lub ścieżkę kontenera i przeszukaj instancję znajdującą się pod danym adresem URL. Jeśli każdy węzeł sieciowy ma własną konfigurację, upewnij się, że wszystkie węzły współdzielą zamierzoną konfigurację i bazę danych.

Jeśli prawidłowa instancja zgłasza wyłączenie konserwacji, porównaj stronę z serwera źródłowego z publicznym adresem URL. Odwrotny serwer proxy lub pamięć podręczna mogą obsługiwać nieaktualną odpowiedź. Wyczyść lub pomiń pamięć podręczną dopiero po sprawdzeniu, która warstwa zwróciła stronę konserwacji.

OCC nie może działać lub zwraca błąd PHP

Sprawdź, czy polecenie korzysta z wersji PHP CLI i wymaganych rozszerzeń zgodnych z instalacją internetową. Nextcloud informuje, że APCu jest domyślnie wyłączone dla PHP CLI i może powodować błędy OCC, gdy APCu jest skonfigurowane jako lokalna pamięć podręczna. W instrukcji opisano włączanie apc.enable_cliw konfiguracji PHP CLI lub dodawanie --define apc.enable_cli=1do polecenia PHP, gdy jest to konieczne:

sudo -E -u www-data php --define apc.enable_cli=1 occ status

Użyj tego tylko wtedy, gdy błąd wskazuje na problem z interfejsem APCu CLI; nie jest to uniwersalne rozwiązanie dla wszystkich błędów PHP. Sprawdź również, czy polecenie jest uruchamiane jako właściwy użytkownik sieciowy i z właściwego katalogu instalacyjnego.

Aktualizacja bazy danych jest nadal wymagana

Nie należy wymuszać wyłączenia flagi konserwacji, aby ukryć ten status. Sprawdź ponownie dane wyjściowe i logi programu aktualizującego, upewnij się, że zainstalowana jest prawidłowa wersja kodu Nextcloud i wykonaj procedurę aktualizacji obsługiwaną dla Twojego typu instalacji. Oficjalne dokumenty referencyjne systemu OCC i poleceń konserwacyjnychmaintenance:mode , status, oraz aktualizacja z poziomu wiersza poleceń.

Utrzymuj okno konserwacyjne pod kontrolą

Wyłączenie trybu konserwacji umożliwia użytkownikom powrót do instancji, dlatego najpierw należy upewnić się, że aktualizacja bazy danych i wszelkie wymagane zmiany kodu zostały ukończone. Unikaj ręcznego usuwania plików aktualizacji lub edytowania ustawień konserwacji w pliku konfiguracyjnym jako pierwszej reakcji; może to spowodować ukrycie objawu bez ukończenia czynności, które spowodowały włączenie trybu.

W przypadku hipotetycznego biura, bezpieczna decyzja jest prosta: sprawdź poprawność instalacji, sprawdź jej status, zakończ wszelkie wymagane aktualizacje, a następnie uruchom maintenance:mode --offi zweryfikuj zarówno OCC, jak i przeglądarkę. Jeśli aktualizacji nie uda się ukończyć bez problemów, pozostaw włączony tryb konserwacji i rozwiąż problem z poziomu dziennika aktualizacji lub procedury odzyskiwania specyficznej dla danej instalacji.

Zostaw komentarz

10 najlepszych narzędzi do pingowania w celu znajdowania urządzeń w sieci

10 najlepszych narzędzi do pingowania w celu znajdowania urządzeń w sieci

Porównaj 10 narzędzi do pingowania, które umożliwiają szybkie wykrywanie sieci LAN, skanowanie międzyplatformowe i zarządzanie adresami IP. Dowiedz się, co narzędzie pingujące może Ci powiedzieć, a czego nie.

6 najlepszych narzędzi do zarządzania siecią, umożliwiających śledzenie wydajności

6 najlepszych narzędzi do zarządzania siecią, umożliwiających śledzenie wydajności

Porównaj sześć narzędzi do zarządzania siecią służących do monitorowania wydajności, obejmujących zasięg SNMP, mapowanie, alerty, modele wdrażania i kompromisy kosztów.

Ping Monitor: 7 darmowych i otwartych narzędzi do monitorowania dostępności sieci

Ping Monitor: 7 darmowych i otwartych narzędzi do monitorowania dostępności sieci

Porównaj siedem darmowych i otwartych monitorów pingów — od kompletnych pakietów sieciowych po ukierunkowane sondy opóźnień — i wybierz odpowiedni monitor pod kątem dostępności, utraty pakietów i historii.

QoS w sieciach: czym jest jakość usług i jak działa

QoS w sieciach: czym jest jakość usług i jak działa

Dowiedz się, co oznacza QoS w sieciach, w jaki sposób oznaczenia DSCP i kolejki ruchu nadają priorytet aplikacjom głosowym, wideo i biznesowym oraz czego QoS nie jest w stanie naprawić.

Najlepsze oprogramowanie serwera SFTP do bezpiecznego przesyłania plików

Najlepsze oprogramowanie serwera SFTP do bezpiecznego przesyłania plików

Porównaj niezawodne oprogramowanie serwera SFTP dla systemów Windows i Linux, w tym OpenSSH, Bitvise, SolarWinds i SFTPGo. Znajdź rozwiązanie odpowiednie dla swoich potrzeb w zakresie bezpieczeństwa i transferu plików.

7 najlepszych narzędzi do zarządzania adresami IP dla zespołów sieciowych

7 najlepszych narzędzi do zarządzania adresami IP dla zespołów sieciowych

Porównaj siedem narzędzi do zarządzania adresami IP służących do wykrywania podsieci, koordynacji DNS i DHCP, inwentaryzacji sieci i otwartego oprogramowania IPAM.

6 najlepszych narzędzi do monitorowania serwerów Windows Server zapewniających lepszą dostępność i wydajność

6 najlepszych narzędzi do monitorowania serwerów Windows Server zapewniających lepszą dostępność i wydajność

Porównaj sześć narzędzi do monitorowania systemu Windows Server pod kątem zbierania danych systemu Windows, widoczności aplikacji, modelu wdrażania i licencjonowania, aby znaleźć odpowiednie rozwiązanie.

10 najlepszych narzędzi do skanowania sieci w celu wykrywania urządzeń i adresów IP

10 najlepszych narzędzi do skanowania sieci w celu wykrywania urządzeń i adresów IP

Porównaj narzędzia do skanowania sieciowego umożliwiające szybkie wykrywanie urządzeń, skanowanie adresów IP na wielu platformach oraz zarządzanie IPAM w przedsiębiorstwie. Znajdziesz tu wskazówki dotyczące dopasowania każdej opcji do swojej sieci.

Najlepsze praktyki monitorowania sieci: co śledzić i jakich narzędzi używać

Najlepsze praktyki monitorowania sieci: co śledzić i jakich narzędzi używać

Zbuduj praktyczny monitoring sieci z przejrzystym zakresem urządzeń, przydatnymi wskaźnikami wydajności, przydatnymi alertami oraz porównaniem SolarWinds NPM, PRTG i OpManager.

Jak używać Nmap do śledzenia trasy i odczytywania ścieżki sieciowej

Jak używać Nmap do śledzenia trasy i odczytywania ścieżki sieciowej

Użyj opcji --traceroute programu Nmap, aby mapować przeskoki do autoryzowanego hosta, zrozumieć dane wyjściowe dotyczące przeskoków i czasu RTT oraz rozwiązywać problemy z brakującymi odpowiedziami bez nadmiernego skanowania.