Strona główna
» Jak
»
Bezpieczne czyszczenie wersji plików ownCloud za pomocą polecenia occ
Bezpieczne czyszczenie wersji plików ownCloud za pomocą polecenia occ
W przypadku serwera ownCloud Classic polecenie administratora służące do usuwania zapisanych wersji plików to occ versions:cleanup: Dodaj jeden lub więcej identyfikatorów użytkowników, aby ograniczyć usuwanie; pomiń identyfikatory użytkowników tylko wtedy, gdy zamierzasz usunąć historię wersji dla każdego użytkownika. Jest to destrukcyjne, dlatego najpierw wykonaj kopię zapasową bazy danych ownCloud i magazynu plików.
Hipotetyczny przykład: Alex administruje serwerem Classic ownCloud i musi usunąć stare wersje z wycofanego konta testowego o nazwie demo_user. Ten fikcyjny przykład pokazuje polecenie docelowe i porównuje je z czyszczeniem całego serwera; nie opisuje rzeczywistego uruchomienia ani wyniku.
1. Potwierdź edycję i cel ownCloud
Poniższe kroki wykorzystują occinterfejs wiersza poleceń, udokumentowany dla serwera ownCloud 10.16. Nie dotyczą one ownCloud Infinite Scale (oCIS), który korzysta z innego zestawu poleceń. Jeśli nie masz pewności, który produkt jest zainstalowany, skontaktuj się z administratorem przed uruchomieniem czyszczenia.
W standardowej instalacji Linuksa przejdź do katalogu instalacyjnego ownCloud. Poniższa ścieżka jest przykładowa dla Ubuntu; użyj swojej rzeczywistej ścieżki:
cd /var/www/owncloud
Sprawdź, czy aplikacja Wersje jest włączona i zweryfikuj identyfikator konta, którego chcesz użyć:
files_versionsPrzed użyciem polecenia czyszczenia sprawdź, czy aplikacja jest włączona .
W dokumentacji ownCloud podano, że polecenia version są dostępne tylko wtedy, gdy files_versionsjest włączony i nie są dostępne w trybie konserwacji pojedynczego użytkownika. Uruchom occjako użytkownik HTTP serwera WWW, aby uprawnienia plików pozostały spójne. W systemach Debian lub Ubuntu jest to zazwyczaj www-data; inne dystrybucje mogą używać innego konta. Zobacz dokumentację poleceń occ ownCloud .
2. Utwórz kopię zapasową i wybierz zakres
Przed usunięciem historii wykonaj kopię zapasową, korzystając ze standardowej procedury tworzenia kopii zapasowych w chmurze ownCloud. Uwzględnij bazę danych i lokalizację przechowywania plików i ich wersji użytkowników. Sprawdź, czy kopia zapasowa została ukończona i czy można ją przywrócić; kopia zawierająca tylko bazę danych może nie zawierać rzeczywistych wersji plików.
W hipotetycznym przypadku Alexa, zamierzony zakres to tylko demo_user. Identyfikator użytkownika musi być zgodny z kontem na tym serwerze. Nie należy zastępować adresu e-mail, nazwy wyświetlanej ani innego użytkownika, ponieważ polecenie akceptuje identyfikatory użytkowników. Przed uruchomieniem polecenia należy potwierdzić identyfikator konta w administracji użytkownikami ownCloud, zwłaszcza jeśli nazwy w usłudze katalogowej różnią się od identyfikatora logowania.
Jeśli celem jest usunięcie każdej starej wersji dla tego konta, użyj versions:cleanup. Nie udokumentowano opcji uruchomienia próbnego dla tego polecenia, dlatego przed jego wykonaniem sprawdź cel i kopię zapasową. Nie należy ustawiać serwera w trybie konserwacji pojedynczego użytkownika na potrzeby tej operacji: ownCloud dokumentuje polecenia Versions jako niedostępne w tym trybie.
3. Uruchom ukierunkowane czyszczenie lub celowo wybierz wszystkich użytkowników
W przypadku standardowej instalacji Linuksa uruchom polecenie z katalogu ownCloud jako użytkownik HTTP. W systemie Debian lub Ubuntu Alex uruchomiłby:
sudo -u www-data ./occ versions:cleanup demo_user
Dodanie demo_userogranicza czyszczenie do konta ownCloud.
W udokumentowanej składni versions:cleanup [user_id]...akceptuje jeden lub więcej identyfikatorów konta. Jeśli identyfikator nie zostanie podany, usuwa wersjonowane pliki dla wszystkich użytkowników. Użyj formularza globalnego tylko po wyraźnym zatwierdzeniu tego zakresu:
sudo -u www-data ./occ versions:cleanup
Pominięcie identyfikatora użytkownika spowoduje wybranie wszystkich użytkowników, dlatego przed kontynuacją należy potwierdzić zakres obejmujący cały serwer.
Przykład ownCloud pokazuje polecenie identyfikujące wszystkich użytkowników do usunięcia, gdy nie podano identyfikatora; podanie identyfikatorów zawęża operację do tych kont. W podręczniku zaznaczono również, że opublikowane, trwałe wersje główne mogą zostać usunięte przez administratora za pomocą tego polecenia, mimo że standardowe zasady przechowywania ich nie powodują wygaśnięcia. Przed usunięciem kont, które mogą zawierać zatwierdzone lub opublikowane wersje, skonsultuj się z właścicielami treści. Nie dodawaj --no-interactionmonitów pomijających. W przypadku instalacji kontenera udokumentowany wzorzec to docker exec --user www-data <owncloud-container-name> occ <your-command>; zastąp symbol zastępczy rzeczywistą nazwą kontenera i wybranym poleceniem. Zapoznaj się z instrukcjami Dockera i occ, jeśli wdrożenie korzysta z innego użytkownika kontenera.
4. Używaj wygaśnięcia tylko wtedy, gdy celem są reguły przechowywania
Gdyby Alex chciał, aby ownCloud usuwał wyłącznie wersje, które wygasły zgodnie ze skonfigurowaną polityką przechowywania, bardziej odpowiednim poleceniem byłoby:
sudo -u www-data ./occ versions:expire demo_user
versions:expirestosuje skonfigurowane reguły przechowywania; nie obiecuje usunięcia każdej zapisanej wersji.
Odniesienie do ownCloud definiuje versions:expireusuwanie tylko wersji, które wygasły zgodnie z [brakuje informacji] versions_retention_obligation. Natomiast versions:cleanupusuwa wszystkie wersje w wybranym zakresie. Przed zmianą polityki należy zapoznać się z udokumentowanymi ustawieniami przechowywania wersji . To ustawienie disabledwyłącza usuwanie wersji; nie usuwa wersji już zapisanych.
Ten artykuł dotyczy serwera ownCloud Classic. Infinite Scale ma własne polecenia czyszczenia wersji; postępuj zgodnie z dokumentacją czyszczenia wersji oCIS zamiast uruchamiać ją za occich pomocą.
Sprawdź wynik
Po zakończeniu polecenia bez błędu otwórz widok Wersje dla pliku należącego do konta docelowego. Upewnij się, że wcześniejsze wersje nie są już wymienione i że bieżący plik nadal istnieje. W przypadku czyszczenia wszystkich użytkowników, sprawdź konta reprezentatywne, zamiast zakładać, że polecenie docelowe zostało uruchomione globalnie. Zachowaj kopię zapasową do momentu, aż właściciel potwierdzi, że żadna wersja historyczna nie jest już potrzebna. Jeśli celem było jedynie dotrzymanie harmonogramu przechowywania, użyj versions:expiretej polityki i zweryfikuj ją, zamiast oczekiwać natychmiastowego całkowitego usunięcia.
To polecenie jest przeznaczone specjalnie dla wersji plików. Nie usuwa ono elementów z kosza „Usunięte pliki”, nie usuwa archiwów kopii zapasowych ani nie usuwa samych bieżących plików. Należy traktować te czynności jako osobne zadania związane z przechowywaniem danych; nie należy ręcznie usuwać katalogu wersji, aby zastąpić nim udokumentowane polecenie.