Jak wyczyścić historię wersji plików ownCloud z poziomu wiersza poleceń
Wiersz poleceń ownCloud pozwala zwolnić miejsce na dysku poprzez usuwanie wersji plików, ale właściwe polecenie zależy od tego, co rozumiesz przez „oczyszczenie”. Możesz pozwolić ownCloud na wygaśnięcie tylko wersji, które naruszają skonfigurowaną politykę przechowywania, usunąć wszystkie zapisane wersje dla jednego lub kilku kont lub usunąć wszystkie wersje w całym systemie. Opcje te różnią się znacząco pod względem odwracalności i zakresu. Najpierw sprawdź, czy Twój serwer to ownCloud Server , czy ownCloud Infinite Scale ; używają one różnych narzędzi wiersza poleceń.
Poniższe polecenia opierają się na aktualnej dokumentacji administracyjnej ownCloud Server 10.16 i 11.0 oraz podręczniku Infinite Scale 8.2, sprawdzonym 6 października 2026 r. Ścieżki, nazwy usług i identyfikatory kont różnią się w zależności od instalacji, dlatego dostosuj przykłady przed uruchomieniem ich na serwerze produkcyjnym.
Wersje uznane za wygasłe przez skonfigurowaną regułę przechowywania
Rutynowa konserwacja i kontrola kwot
Zachowuje wersje objęte polityką, więc może się zdarzyć, że nie odzyska tak dużo miejsca od razu, jak w przypadku pełnego czyszczenia.
versions:cleanup USER_IDna serwerze ownCloud
Wszystkie zapisane wersje dla wskazanego konta lub kont
Usuwanie historii dla określonego konta
Użytkownik traci możliwość przywracania wcześniejszych wersji, w tym wersji opublikowanych.
versions:cleanupbez identyfikatorów użytkownika
Wszystkie zapisane wersje dla wszystkich użytkowników serwera ownCloud
Zaplanowany reset w całej organizacji
Jest to szeroko zakrojona operacja destrukcyjna, a udokumentowane polecenie nie ma opcji podglądu.
ocis revisions purgew nieskończonej skali
Domyślnie poprawki we wszystkich przestrzeniach lub węższy zakres zasobów, gdy jest to określone
Wdrożenia o nieograniczonej skali wymagające oczyszczenia wersji
Jego zachowanie podczas próbnego uruchomienia i opcje ścieżki przechowywania różnią się od poleceń serwera ownCloud occ.
W przypadku cyklicznego zarządzania pamięcią masową zacznij od zasad przechowywania i versions:expire. Używaj versions:cleanuptylko wtedy, gdy celowo chcesz teraz usunąć wybraną historię.
1. Potwierdź swój produkt ownCloud i lokalizację polecenia
W przypadku serwera ownCloud połącz się z hostem lub kontenerem, na którym działa aplikacja PHP i przejdź do katalogu instalacyjnego ownCloud, w którym znajduje occsię skrypt. Typowym sposobem działania w systemie Linux jest uruchamianie poleceń z poziomu konta serwera WWW, często www-data:wwwrun
cd /var/www/owncloud sudo -u www-data php occ status
Użyj rzeczywistej ścieżki instalacji i konta serwera WWW dla swojego systemu. Uruchomienie occjako root może spowodować, że pliki będą własnością niewłaściwego konta, dlatego należy użyć udokumentowanego konta serwisowego. Upewnij się, że aplikacja Versions files_versionsjest włączona; polecenia version są niedostępne, gdy ta aplikacja jest wyłączona i nie są dostępne w trybie konserwacji pojedynczego użytkownika.
Polecenie occ statussprawdza instalację serwera ownCloud przed oczyszczeniem wersji.
Jeśli serwer ownCloud działa w Dockerze, wykonaj polecenie w kontenerze aplikacji. Na przykład, w katalogu zawierającym konfigurację Compose, wdrożenie może użyć znaku docker compose exec owncloud occ status; zamiast owncloudrzeczywistej nazwy usługi z pliku Compose. Nie należy używać occprzykładów dla skalowania nieskończonego.
2. Zdecyduj, czy chcesz wymusić retencję, czy usunąć historię
Użyj wygaśnięcia, jeśli chcesz przeprowadzić czyszczenie na podstawie zasad
versions:expireOcenia wersje w odniesieniu do versions_retention_obligationustawienia w config.php. Bez identyfikatora użytkownika dotyczy wszystkich użytkowników; można również podać jeden lub więcej identyfikatorów użytkowników. Dla pojedynczego konta polecenie wygląda następująco:
sudo -u www-data php occ versions:expire alice
Wpisz prawdziwy identyfikator konta, a nie nazwę wyświetlaną lub adres e-mail osoby, chyba że konto jest w ten sposób identyfikowane w instalacji. Aby uruchomić proces wygasania dla wszystkich kont, pomiń alice. Ten wybór respektuje skonfigurowaną regułę przechowywania: nie spowoduje to usunięcia najnowszych lub zachowanych wersji.
Polecenie versions:expirestosuje skonfigurowaną politykę przechowywania do jednego nazwanego konta.
Dokumentacja serwera ownCloud opisuje autodomyślny wzorzec retencji, a także dokumentuje alternatywy oparte na czasie. Przed uruchomieniem funkcji wygasania zapoznaj się z polityką, zwłaszcza jeśli w organizacji obowiązują prawne lub operacyjne wymogi dotyczące retencji. W przypadku regularnego wygasania, ownCloud uruchamia to zadanie w tle. Podręcznik administratora zaleca korzystanie z systemowego crona do zadań w tle; ręczne wywołanie funkcji wygasania jest przydatne w przypadku celowej konserwacji, ale nie powinno być improwizowanym zamiennikiem poprawnie skonfigurowanego harmonogramu.
Użyj funkcji czyszczenia, jeśli zamierzasz usunąć każdą wersję w zakresie
Dla jednego konta uruchom:
sudo -u www-data php occ versions:cleanup alice
W przypadku kilku kont podaj ich identyfikatory, rozdzielając je spacjami:
sudo -u www-data php occ versions:cleanup alice bob
W przypadku braku identyfikatorów polecenie usuwa wszystkie wersjonowane pliki dla wszystkich użytkowników:
sudo -u www-data php occ versions:cleanup
Przekazanie identyfikatora konta umożliwia pełne czyszczenie historii danemu użytkownikowi.
Najpierw wykonaj kopię zapasową, jeśli wersje mogą być potrzebne do odzyskania, i potwierdź identyfikatory kont przed wykonaniem. Udokumentowane polecenie usuwa dane wersji i powiązany files_versionsz nimi folder w zakresie. Usuwa również opublikowane wersje, które w przeciwnym razie pozostałyby w pamięci dłużej niż normalnie. Nie udokumentowano obsługiwanej flagi „tylko podgląd” dla serwera ownCloud versions:cleanup, więc literówka lub pominięty identyfikator mogą mieć poważniejsze konsekwencje niż zamierzone.
3. Zrozum różnicę między serwerem ownCloud a Infinite Scale
Usługa ownCloud Infinite Scale (oCIS) nie używa occ versions:cleanuppolecenia PHP. Dokumentacja administracyjna opisuje czyszczenie wersji za pomocą polecenia ocis revisions purge. Domyślnie polecenie uruchamia test, który raportuje, co zostanie usunięte bez usuwania wersji. Wymagana jest skonfigurowana ścieżka do przechowywania danych użytkowników; w tym przykładzie użyto ścieżki zastępczej:
ocis revisions purge -p /base/path/storage/users
Sprawdź wyniki próbnego uruchomienia i upewnij się, że ścieżka dostępu jest poprawna. Aby faktycznie usunąć wersje wymienione w tym uruchomieniu, jawnie wyłącz próbny rozruch:
Domyślnie polecenie Infinite Scale obejmuje rewizje we wszystkich przestrzeniach. --resource-idOpcja ta może zawęzić operację do przestrzeni lub pojedynczego pliku, jeśli znasz prawidłowy identyfikator. Jeśli ścieżka lub zakres są niepewne, zatrzymaj się na próbnym uruchomieniu i potwierdź oba z konfiguracją wdrożenia. W dokumentacji zaznaczono, że naprzemienne tryby globbingu mogą zwiększyć użycie procesora i pamięci w dużych przestrzeniach; należy zachować ustawienie domyślne, chyba że stwierdzono potrzebę jego zmiany.
Bez identyfikatora użytkownika versions:cleanupatakuje każdego użytkownika serwera ownCloud.
4. Sprawdź wynik bez usuwania dalszych danych
Po oczyszczeniu serwera sprawdź kilka reprezentatywnych kont w interfejsie internetowym i upewnij się, że stare wpisy nie są już wyświetlane w historii wersji każdego pliku. Sprawdź dane wyjściowe polecenia dla przetworzonych użytkowników. W przypadku skalowania nieskończonego porównaj wyniki czyszczenia z danymi wyjściowymi z próbnego uruchomienia i sprawdź status wykonania polecenia. Następnie sprawdź wykorzystanie pamięci masowej na poziomie istotnym dla wdrożenia: raportowanie limitów ownCloud, lokalny system plików lub skonfigurowany magazyn obiektów.
Nie usuwaj plików ręcznie, aby files_versions„dokończyć” czyszczenie. Obsługiwane polecenia ownCloud koordynują czyszczenie wersji z metadanymi aplikacji; usunięcie obiektów pamięci masowej znajdujących się za aplikacją może pozostawić niespójne rekordy. Ponadto, odzyskiwanie miejsca na dysku serwera może różnić się od liczby usuniętych wersji, jeśli zaplecze pamięci masowej obsługuje migawki, replikację lub posiada własny mechanizm opóźnionego usuwania. Ta część zależy od zaplecza i należy to sprawdzić u jego administratora lub dostawcy.
Którą opcję powinieneś wybrać?
Wybierz tę opcję,versions:expire jeśli Twoim celem jest bieżące zarządzanie kwotami przy użyciu istniejących reguł przechowywania.
Wybierz opcję zakresowąversions:cleanup USER_ID , jeśli chcesz usunąć całą historię znanych kont i zaakceptować utratę punktów przywracania.
Wybierz opcję globalnąversions:cleanup tylko w przypadku celowego resetu całego systemu po wykonaniu kopii zapasowej i przejrzeniu zakresu.
Wybierz przepływ pracy Infinite Scale purge tylko w oCIS i sprawdź jego domyślny przebieg próbny przed ustawieniem --dry-run=false.
Uwaga dotycząca wersji: zachowanie poleceń i przykłady zostały sprawdzone pod kątem dokumentacji ownCloud Server 10.16/11.0 i Infinite Scale 8.2 z dnia 6 października 2026 r. Przed uruchomieniem operacji niszczącej sprawdź zgodność instrukcji z zainstalowaną wersją.