Przenieś dane z Nextcloud na dysk zewnętrzny bez naruszania pamięci masowej

W przypadku konwencjonalnej instalacji Linuksa, należy trwale zamontować dysk zewnętrzny, skopiować cały katalog danych, gdy NextCloud jest offline, a następnie utworzyć dowiązanie symboliczne oryginalnej ścieżki do nowej lokalizacji. Nie należy po prostu zmieniać datadirectoryścieżki config.php: NextCloud śledzi lokalną pamięć masową za pomocą ścieżki bezwzględnej, więc bezpośrednia zmiana ścieżki może spowodować osieroconych plików i udziałów.

W tym przykładzie założono instalację pakietu lub archiwum. Instalacje Dockera, Snap i urządzeń mapują ścieżki w różny sposób; dostosuj montowanie do danego wdrożenia zamiast bezmyślnie kopiować ścieżki hosta.

Co jest potwierdzone, a co zależy od Twojego serwera

PunktCo zrobić
Zweryfikowano: Nextcloud używa ścieżki bezwzględnej do identyfikacji pamięci lokalnej. Nieostrożne przeniesienie może spowodować utratę plików lub udziałów.Utrzymuj skonfigurowaną ścieżkę w stanie stabilnym za pomocą dowiązania symbolicznego i zachowaj całą zawartość, łącznie z .ncdata.
Zależne od konfiguracji: ścieżka danych, użytkownik HTTP, system plików i nazwy usług mogą się różnić.Sprawdź aktualną konfigurację i upewnij się, że dysk zachowuje wymagane prawa własności i uprawnienia systemu Linux.
Zależne od dysku: nie można zakładać niezawodnego montażu i zasilania.Zamontuj go przy użyciu UUID, przetestuj montowanie po ponownym uruchomieniu i zapobiegnij uruchomieniu Nextcloud, gdy dysk danych jest niedostępny.

Funkcja montowania zewnętrznego nośnika danych w aplikacji Pliki dodaje dodatkową lokalizację; nie przenosi głównego katalogu danych. Użyj jej do utworzenia dodatkowego folderu lub udziału, a także przenieś katalog danych, gdy pliki i metadane serwera muszą znajdować się na dysku.

1. Utwórz kopię zapasową Nextcloud i zidentyfikuj ścieżkę źródłową

Utwórz kopię zapasową bazy danych config/, katalogu danych, aplikacji niestandardowych i motywów. Upewnij się, że kopię zapasową bazy danych można przywrócić; samo skopiowanie plików nie oznacza całkowitego przywrócenia.

Znajdź ścieżkę danych w config/config.phplub z occ config:system:get datadirectory, a następnie zidentyfikuj użytkownika HTTP. W przykładach użyj www-datai /var/www/nextcloud/data; zastąp swoje rzeczywiste wartości. Nie formatuj dysku zawierającego potrzebne pliki.

Narzędzie dyskowe systemu Linux pokazujące wybrany dysk zewnętrzny, system plików ext4 i pole punktu montowania
Ilustracja: widok narzędzia dyskowego pokazuje szczegóły dysku zewnętrznego i systemu plików, które należy potwierdzić przed jego zamontowaniem w usłudze Nextcloud.

2. Zamontuj napęd w stabilnej pozycji

Uruchom lsblk -fi zanotuj UUID systemu plików partycji. Nazwy takie jak „ /dev/sdb1mogą się zmieniać”, dlatego użyj UUID w konfiguracji montowania.

W przypadku serwera Linux korzystającego z ext4 utwórz punkt montowania i dodaj wiersz taki jak ten do /etc/fstab, zastępując przykładowy UUID rzeczywistym:

UUID=YOUR-DRIVE-UUID /srv/nextcloud-disk ext4 defaults 0 2

Użyj typu już znajdującego się na partycji; ten wiersz jej nie sformatuje. Sprawdź, czy system plików zachowuje własność i uprawnienia wymagane przez NextCloud.

Zamontuj i zweryfikuj przed umieszczeniem na nim jakichkolwiek danych:

sudo mkdir -p /srv/nextcloud-disk
sudo mount /srv/nextcloud-disk
findmnt /srv/nextcloud-disk

Sprawdź, czy dane wyjściowe identyfikują partycję zewnętrzną. Jeśli używasz nofail, zablokuj również usługi web/PHP na montowanym dysku; w przeciwnym razie brak dysku może pozostawić pusty katalog punktu montowania, który odbiera zapisy. Można użyć RequiresMountsFor=/srv/nextcloud-disk. Pozostaw dysk podłączony podczas działania Nextcloud.

Edytor terminala pokazujący wpis systemu plików oparty na UUID dla zamontowanego woluminu zewnętrznego
Ilustracja: wpis UUID w tabeli systemu plików oznacza trwałą konfigurację montowania, a nie skrót nazwy urządzenia.

3. Przełącz NextCloud w tryb konserwacji i skopiuj dane

Tryb konserwacji blokuje logowanie, ale nie zatrzymuje każdego zaplanowanego zadania. Przed kopiowaniem wstrzymaj cron Nextcloud lub jego timer systemd, zatrzymaj klientów synchronizacji i usługi web/PHP, aby żadne żądania nie zmieniły plików w trakcie przenoszenia.

sudo -E -u www-data php /var/www/nextcloud/occ maintenance:mode --on

Po wyłączeniu harmonogramu i zatrzymaniu usług internetowych/PHP skopiuj katalog danych jako użytkownik root, aby zachować własność, uprawnienia, listy kontroli dostępu i ukryte pliki:

sudo mkdir -p /srv/nextcloud-disk/data
sudo rsync -Aavx --numeric-ids /var/www/nextcloud/data/ /srv/nextcloud-disk/data/

Ukośnik na końcu kopiuje zawartość katalogu. Zachowaj starą kopię; sprawdź rsync, czy nie ma błędów i upewnij się, .ncdataże znajduje się ona na najwyższym poziomie nowego katalogu.

Ciemne okno terminala pokazujące polecenie kopiowania pliku z wierszami postępu
Ilustracja: widok kopii terminala przedstawia przesyłanie całego katalogu danych, gdy Nextcloud jest zatrzymany.

4. Zachowaj starą ścieżkę za pomocą dowiązania symbolicznego

Podręcznik rozwiązywania problemów Nextcloud zaleca połączenie oryginalnej ścieżki z nowym katalogiem. Po zweryfikowaniu kopii zmień nazwę starego katalogu, aby przywrócić poprzednią wersję i utwórz link:

sudo mv /var/www/nextcloud/data /var/www/nextcloud/data.pre-move
sudo ln -s /srv/nextcloud-disk/data /var/www/nextcloud/data
readlink -f /var/www/nextcloud/data

Potwierdź, że ścieżka prowadzi do /srv/nextcloud-disk/data. Użytkownik sieci musi przejść przez katalogi nadrzędne oraz odczytać .ncdatai zapisać dane w miejscu docelowym:

sudo -u www-data test -r /var/www/nextcloud/data/.ncdata
sudo -u www-data test -w /var/www/nextcloud/data

Jeśli sprawdzenie się nie powiedzie, popraw właściciela lub uprawnienia nadrzędne swojego użytkownika sieciowego; nie ustawiaj katalogu jako dostępnego do zapisu dla wszystkich. Niektóre serwery sieciowe muszą zezwalać na dowiązania symboliczne. Jeśli nie jest to możliwe, nie edytuj oc_storagesręcznie: Nextcloud wywołuje tę metodę jako nieobsługiwaną i ostrzega, że ​​może to uszkodzić bazę danych.

Terminal z poleceniami przenoszenia i dowiązywania symboli, po którym następuje wiersz inspekcji ścieżki
Ilustracja: widok terminala pokazuje oryginalną ścieżkę danych połączoną z katalogiem na dysku zewnętrznym.

5. Przed usunięciem kopii zapasowej uruchom ponownie i sprawdź

Uruchom web/PHP i ponownie włącz harmonogram. Potwierdź montowanie i dowiązanie symboliczne, a następnie wyłącz tryb konserwacji:

findmnt /srv/nextcloud-disk
sudo -E -u www-data php /var/www/nextcloud/occ status
sudo -E -u www-data php /var/www/nextcloud/occ maintenance:mode --off

Zaloguj się, otwórz istniejące pliki i udziały oraz prześlij/pobierz mały plik. Sprawdź logi Nextcloud i serwera WWW, a następnie uruchom ponownie komputer w oknie konserwacji, aby potwierdzić montaż dysków przed uruchomieniem Nextcloud.

Zachowaj data.pre-movekopię zapasową bazy danych do czasu ponownego uruchomienia i normalnej synchronizacji. Jeśli przeniesienie się nie powiedzie, włącz tryb konserwacji, zatrzymaj aplikację i przywróć pierwotny stan katalogu i usługi. Szerokopasmowy dostęp files:scannie naprawi błędnego podłączenia.

Weryfikacja

Sprawdź, czy dysk montuje się podczas rozruchu, czy oryginalna ścieżka jest z nim powiązana, czy użytkownik sieci może odczytywać i zapisywać dane, a także czy istnieją pliki i czy można je przesłać. Jeśli NextCloud zgłosi brakujące pliki po ponownym uruchomieniu, zatrzymaj aplikację i sprawdź montowanie przed zezwoleniem na zapis.

Odnośniki: Wskazówki Nextcloud dotyczące przenoszenia katalogu danych ; Wskazówki dotyczące tworzenia kopii zapasowych i trybu konserwacji Nextcloud ; Lokalizacja i właściciel katalogu danych Nextcloud ; Zewnętrzna pamięć masowa Nextcloud jako punkt montowania pomocniczego ; Dokumentacja punktów montowania systemu Linux dla identyfikatorów UUID ; Zależności punktów montowania systemd .

Zostaw komentarz

Przenieś dane z Nextcloud na dysk zewnętrzny bez naruszania pamięci masowej

Przenieś dane z Nextcloud na dysk zewnętrzny bez naruszania pamięci masowej

Bezpiecznie przenieś katalog danych Linux Nextcloud na dysk zewnętrzny, korzystając z trwałego montowania UUID, trybu konserwacji, zweryfikowanej kopii i dowiązania symbolicznego do ścieżki oryginalnej.

Błąd bazy danych NextCloud po aktualizacji: co sprawdzić w pierwszej kolejności

Przywróć dostęp do Nextcloud po aktualizacji, diagnozując błędy SQL, sprawdzając łączność z bazą danych i bezpiecznie kończąc przerwane migracje.

Zresetuj utracone hasło administratora NextCloud za pomocą OCC

Użyj polecenia OCC usługi Nextcloud, aby zresetować hasło administratora z poziomu powłoki serwera. Znajdziesz tam wskazówki dotyczące nazw użytkowników, uprawnień i zewnętrznych dostawców logowania.

Dodaj nagłówek HSTS w punkcie końcowym HTTPS obsługującym Nextcloud

Wyczyść ostrzeżenie HSTS usługi Nextcloud, ustawiając nagłówek na serwerze Apache, NGINX lub serwerze proxy TLS, a następnie bezpiecznie zweryfikuj publiczną odpowiedź HTTPS.

Rozwiązywanie problemów z instalacjami aplikacji NextCloud, które zgłaszają brak połączenia z Internetem

Rozwiązywanie problemów z instalacjami aplikacji NextCloud, które zgłaszają brak połączenia z Internetem

Śledź błędy instalacji App Store, aby wykryć problemy z DNS, HTTPS, serwerem proxy, TLS lub konfiguracją na samym serwerze Nextcloud.

Podgląd Tame Nextcloud powoduje skoki obciążenia procesora w przypadku zaplanowanej kolejki

Przenieś pracę nad miniaturami do kontrolowanego harmonogramu w tle, zmniejsz nieużywane rozmiary podglądu i zweryfikuj kolejkę bez przeciążania serwera Nextcloud.

Uzyskaj synchronizację pulpitu Nextcloud, wykraczającą poza „przetwarzanie plików”

Znajdź plik, regułę wykluczenia, problem z połączeniem lub stan bazy danych klienta, który blokuje synchronizację z Nextcloud, a następnie sprawdź bezpieczeństwo przesyłania i pobierania.

Wyczyść ostrzeżenie Nextcloud OPcache, dostosowując prawy limit

Znajdź limit PHP OPcache powodujący ostrzeżenie Nextcloud, zaktualizuj prawidłową konfigurację PHP w przeglądarce, uruchom ponownie system bezpiecznie i sprawdź wynik.

Połączenie Nextcloud z CODE Docker: konfiguracja i kompromisy

Połączenie Nextcloud z CODE Docker: konfiguracja i kompromisy

Porównaj wbudowany KOD i KOD oparty na Dockerze, a następnie połącz Collabora Online z Nextcloud za pomocą bezpiecznego odwrotnego serwera proxy HTTPS.

Zbuduj odporny klaster Nextcloud z Galera

Zaplanuj niezawodne wdrożenie Nextcloud HA z współdzieloną pamięcią masową, blokowaniem Redis, routingiem MariaDB uwzględniającym kworum i praktycznymi kontrolami awaryjnymi.