Strona główna
» Jak
»
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
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
Punkt
Co 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.
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:
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.
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.
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:
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.
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:
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.
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:
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.