Jak automatycznie wyczyścić kosz z usuniętych plików NextCloud

Nextcloud zawiera już elementy niezbędne do automatycznego czyszczenia usuniętych plików, więc większość administratorów nie potrzebuje niestandardowego skryptu powłoki. W aktualnej dokumentacji administracyjnej Nextcloud 35, zalecanym podejściem jest nadal połączenie zdefiniowanej polityki przechowywania w koszu z niezawodnym wykonywaniem zadań w tle. Ważne jest, że domyślna autopolityka nie jest taka sama jak „usuń wszystko dokładnie po 30 dniach”. Przechowuje ona usunięte elementy przez co najmniej 30 dni, a następnie kwalifikuje je do czyszczenia, gdy jest potrzebne miejsce.

Jeśli Twoim celem jest przewidywalne czyszczenie, ustaw jawny maksymalny wiek retencji i upewnij się, że zadania w tle NextCloud są uruchamiane przez systemowy cron. Poniższe kroki wykorzystują wyłącznie zachowania udokumentowane przez NextCloud i wyjaśniają również, kiedy polecenia occ trashbin:expirei trashbin:cleanupsą odpowiednie.

Co właściwie robi automatyczne czyszczenie kosza na śmieci

Po włączeniu aplikacji „Usunięte pliki” ( files_trashbin) pliki usuwane przez użytkowników są przenoszone do kosza, zamiast być usuwane od razu. Daje to użytkownikom czas na odzyskanie danych, ale usunięte elementy nadal zajmują miejsce w pamięci. Nextcloud kontroluje ich czas życia za pomocą trashbin_retention_obligationustawienia w config/config.php.

Aktualna dokumentacja konfiguracji kosza Nextcloud definiuje następujące formy zasad:

UstawienieOznaczającyDobrze pasuje
autoPrzechowuj przedmioty przez co najmniej 30 dni; następnie usuń przedmioty, które mogą się tam znaleźć, gdy będzie potrzeba więcej miejsca.Małe instalacje, które akceptują domyślne zachowanie.
D, autoPrzechowuj przedmioty przez co najmniej D dni, a następnie pozwól na ich uporządkowanie w zależności od ilości miejsca.Potrzebny jest minimalny okres odzyskiwania danych, ale nie ma sztywnego terminu usunięcia.
auto, DGwarantuje usunięcie danych po D dniach, umożliwiając jednocześnie wcześniejsze czyszczenie ze względu na ilość wolnego miejsca.Chcesz zachować maksymalny wiek przechowywania, ale możesz tolerować wcześniejsze usuwanie danych w przypadku wystąpienia presji związanej z przechowywaniem.
D1, D2Przechowuj elementy przez co najmniej D1 dni i usuwaj je po upływie D2 dni.Potrzebny jest minimalny okres retencji oraz ustalony maksymalny wiek retencji.
disabledWyłącz automatyczne wygasanie zawartości kosza.Tylko wtedy, gdy celowe jest nieograniczone przechowywanie danych, a wzrost pojemności pamięci masowej jest zarządzany w inny sposób.

Należy pamiętać o jeszcze jednej zasadzie dotyczącej przechowywania danych: jeśli limit użytkownika zostanie przekroczony z powodu usuniętych plików, Nextcloud może zignorować ustawienia retencji i posprzątać śmieci, dopóki limit nie zostanie spełniony. Dlatego retencji nie należy traktować jako niezmiennej gwarancji kopii zapasowej.

Krok 1: Wybierz zasady przechowywania danych przed wprowadzeniem jakichkolwiek zmian

Określ, do czego służy kosz w Twoim środowisku. Jeśli użytkownicy często przywracają przypadkowo usunięte pliki, daj im sensowny minimalny czas na odzyskanie danych. Jeśli priorytetem jest ograniczona przestrzeń dyskowa lub udokumentowana polityka przechowywania danych, zdefiniuj również maksymalny czas.

Na przykład to ustawienie pozwala na czyszczenie przestrzeni dyskowej w dowolnym momencie, ale gwarantuje, że pliki starsze niż 30 dni zostaną usunięte:

'trashbin_retention_obligation' => 'auto, 30',

Jeśli chcesz, aby usunięte pliki były zachowywane przez co najmniej 30 dni, a następnie usuwane, użyj ograniczonej polityki:

'trashbin_retention_obligation' => '30, 30',

Wybierz wartości odpowiadające Twoim potrzebom odzyskiwania. Krótszy okres pozwala szybciej zaoszczędzić miejsce na dysku, ale skraca czas potrzebny użytkownikom na przywrócenie plików. Dłuższy okres zapewnia dłuższy czas odzyskiwania, ale może zwiększyć obciążenie dysku.

Krok 2: Ustaw trashbin_retention_obligation w pliku config.php

Otwórz plik konfiguracyjny Nextcloud, który zazwyczaj znajduje się w config/config.phpkatalogu instalacyjnym. Dodaj lub zmień ustawienie w $CONFIGtablicy. Typowy przykład:

<?php
$CONFIG = array (
  // Other Nextcloud settings...
  'trashbin_retention_obligation' => 'auto, 30',
);

Nie edytuj niepowiązanych wartości i uważaj, aby nie ujawniać zawartości config.phpzgłoszeń ani zrzutów ekranu, ponieważ mogą one zawierać poufną konfigurację serwera.

Możesz również sprawdzić aktualną konfigurację za pomocą narzędzi wiersza poleceń Nextcloud, zamiast kopiować zawartość pliku do komunikatu rozwiązywania problemów.

Krok 3: Użyj crona systemowego do niezawodnych zadań w tle

Polityka retencji działa tylko wtedy, gdy zadania w tle Nextcloud są faktycznie uruchomione. Dokumentacja zadań w tle Nextcloud zaleca korzystanie z crona w systemie operacyjnym w przypadku instancji produkcyjnych. AJAX jest trybem domyślnym, ale zależy on od liczby odwiedzin stron i jest najmniej niezawodną opcją.

W przypadku typowej instalacji systemu Linux z wykorzystaniem www-datakonta serwera WWW należy edytować plik crontab tego konta:

crontab -u www-data -e

Następnie uruchamiaj Nextcloud cron.phpco pięć minut:

*/5 * * * * php -f /var/www/nextcloud/cron.php

Zastąp /var/www/nextcloudrzeczywistą ścieżką do instalacji. Niektóre systemy wymagają pełnej ścieżki PHP CLI, np /usr/bin/php. .

Możesz również wybrać tryb cron jawnie za pomocą:

sudo -E -u www-data php /var/www/nextcloud/occ background:cron

Nextcloud dokumentuje zadanie w tle dotyczące wygaśnięcia kosza jako uruchamiane co 30 minut. Wywołanie cron.phpco pięć minut nie oznacza, że ​​kosz jest opróżniany co pięć minut; oznacza to, że harmonogram ma częste możliwości uruchamiania zadań, które są już gotowe.

Krok 4: Sprawdź, czy harmonogram działa

Po skonfigurowaniu crona należy najpierw sprawdzić wpis dotyczący systemu operacyjnego:

crontab -u www-data -l

Następnie sprawdź ustawienia administracyjne NextCloud pod kątem statusu zadań w tle. Strona powinna informować o niedawnym uruchomieniu zadań. Jeśli raportowany czas ostatniego uruchomienia jest coraz bardziej nieaktualny, napraw cron przed diagnozą polityki retencji.

W NextCloud 35 udokumentowane occpolecenia obejmują również polecenia inspekcji zadań w tle, takie jak background-job:list, background-job:runningi background-job:history. Mogą one być pomocne, gdy trzeba zweryfikować, czy zadania są przetwarzane, zamiast po prostu zakładać, że cron jest aktywny.

Krok 5: Użyj trashbin:expire w przypadku ręcznych uruchomień opartych na zasadach

Jeśli skonfigurowałeś niestandardowy okres przechowywania, możesz ręcznie zastosować tę zasadę za pomocą:

sudo -E -u www-data php /var/www/nextcloud/occ trashbin:expire

W bieżącym dokumencie referencyjnym dotyczącym poleceń Nextcloud Files and Trashbin wskazano istotne ograniczenie: trashbin:expireręczne wygasanie jest wykonywane tylko po skonfigurowaniu niestandardowego okresu przechowywania. Przy domyślnej autopolityce polecenie kończy działanie z komunikatem informacyjnym i nie wykonuje żadnych działań, ponieważ automatyczne wygasanie jest obsługiwane przez zadanie działające w tle.

Jeśli celowo chcesz utworzyć oddzielny wpis cron dla systemu trashbin:expire, Nextcloud dokumentuje sposób na wcześniejsze wyłączenie wbudowanego w aplikację zadania wygasania kosza w tle:

sudo -E -u www-data php /var/www/nextcloud/occ config:app:set --value=no files_trashbin background_job_expire_trash

Możesz wtedy zaplanować occ trashbin:expire --quietsamodzielnie. To zaawansowana opcja. W przypadku większości instalacji pozostawienie wbudowanego zadania wygasania włączonego i uruchomienie standardowego cron.phpharmonogramu NextCloud jest prostsze i łatwiejsze w utrzymaniu.

Nie myl funkcji trashbin:expire z funkcją trashbin:cleanup

Nazwy są podobne, ale polecenia mają zupełnie różne skutki. trashbin:expireUsuwa elementy kwalifikujące się zgodnie ze skonfigurowaną polityką przechowywania. trashbin:cleanupTrwale usuwa zawartość kosza dla określonych użytkowników.

Na przykład:

sudo -E -u www-data php /var/www/nextcloud/occ trashbin:cleanup --all-users

to destrukcyjne, obejmujące wszystkich użytkowników czyszczenie. Jest przydatne, gdy celowo chcesz opróżnić kosz każdego użytkownika, ale zazwyczaj nie jest to odpowiednie polecenie do rutynowej automatyzacji opartej na retencji, ponieważ ignoruje zaprojektowane przez Ciebie okno odzyskiwania. Nie umieszczaj polecenia czyszczenia obejmującego wszystkich użytkowników w cronie, chyba że trwałe, bezwarunkowe czyszczenie jest rzeczywiście Twoją polityką.

Krok 6: Sprawdź i kontroluj rozmiar kosza na śmieci w NextCloud 35

Aktualna dokumentacja poleceń Nextcloud 35 zawiera polecenie trashbin:size, które umożliwia administratorom sprawdzenie lub ustawienie docelowego rozmiaru kosza globalnie lub dla każdego użytkownika. Aby wyświetlić bieżącą wartość globalną:

sudo -E -u www-data php /var/www/nextcloud/occ trashbin:size

Aby wyświetlić efektywny cel konkretnego użytkownika:

sudo -E -u www-data php /var/www/nextcloud/occ trashbin:size --user USER_ID

Skonfigurowany rozmiar docelowy może uzupełniać retencję opartą na wieku, gdy głównym problemem jest pojemność pamięci masowej. Nextcloud zauważa, że ​​zmiana globalnego rozmiaru domyślnego natychmiast uruchamia czyszczenie istniejących koszy na śmieci, dlatego traktuj zmiany rozmiaru jako działanie operacyjne, a nie tylko nieszkodliwe ustawienie wyświetlania.

Jak sprawdzić, czy automatyczne czyszczenie działa

  • Status zadania w tle pokazuje ostatnie uruchomienia.
  • Plik crontab systemu operacyjnego zawiera oczekiwany cron.phpwpis.
  • Twoja konfiguracja trashbin_retention_obligationodpowiada zamierzonej polityce.
  • Stare przedmioty z czasem znikają zgodnie z skonfigurowanym maksymalnym wiekiem, jeśli taki istnieje.
  • trashbin:expirezachowuje się zgodnie z dokumentacją, gdy skonfigurowana jest niestandardowa polityka.
  • Wykorzystanie dysku lub kwoty przestaje nieoczekiwanie rosnąć, ponieważ nieaktualne, usunięte pliki nie są już przechowywane w nieskończoność.

Jeśli stare pliki pozostają dłużej niż oczekiwano, najpierw sprawdź, czy Twoja polityka rzeczywiście zawiera wartość maksymalną. Domyślne autoustawienie nie gwarantuje usunięcia dokładnie 30. dnia. Następnie zweryfikuj zadania w tle. Dopiero po tych sprawdzeniach sprawdź uprawnienia, zaplecza pamięci masowej lub logi aplikacji.

Praktyczna konfiguracja dla większości serwerów hostowanych samodzielnie

W przypadku typowej instancji hostowanej samodzielnie, rozsądnym punktem wyjścia jest korzystanie z systemowego crona co pięć minut i wyraźne zdefiniowanie maksymalnego czasu przechowywania danych. Na przykład, 'auto, 30'daje to użytkownikom do około miesiąca w normalnych warunkach, jednocześnie gwarantując, że elementy nie będą przechowywane w nieskończoność. Jeśli użytkownicy muszą zawsze mieć pełne okno odzyskiwania, niezależnie od obciążenia pamięci masowej, należy zastosować ograniczoną politykę minimalną i maksymalną, taką jak '30, 30':

Przechowuj kopie zapasowe oddzielnie od kosza. Kosz to funkcja odzyskiwania danych przez użytkownika, która działa w oparciu o limity i retencję; nie zastępuje niezależnej strategii tworzenia kopii zapasowych.

Oficjalne odniesienia do Nextcloud

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.