Home
» Hoe
»
Verwijder veilig ownCloud-bestandsversies met het occ-commando.
Verwijder veilig ownCloud-bestandsversies met het occ-commando.
Voor ownCloud Server Classic is het beheerderscommando voor het verwijderen van opgeslagen bestandsversies occ versions:cleanup. Voeg een of meer gebruikers-ID's toe om de verwijdering te beperken; laat gebruikers-ID's alleen weg als u de versiegeschiedenis voor elke gebruiker wilt verwijderen. Dit is een destructieve actie, dus maak eerst een back-up van de ownCloud-database en de bestandsopslag.
Hypothetisch voorbeeld: Alex beheert een Classic ownCloud-server en moet oude revisies verwijderen voor een uitgefaseerd testaccount met de naam demo_user. Dit fictieve voorbeeld toont de beoogde opdracht en vergelijkt deze met een serverbrede opschoning; het beschrijft geen daadwerkelijke uitvoering of resultaat.
1. Bevestig de ownCloud-editie en het doel.
De onderstaande stappen maken gebruik occvan de opdrachtregelinterface die is gedocumenteerd voor ownCloud Server 10.16. Ze zijn niet van toepassing op ownCloud Infinite Scale (oCIS), dat een andere set opdrachten gebruikt. Als u niet zeker weet welk product is geïnstalleerd, neem dan contact op met de beheerder voordat u een opschoning uitvoert.
Ga in een standaard Linux-installatie naar de installatiemap van ownCloud. Het volgende pad is een voorbeeld voor Ubuntu; gebruik uw eigen pad:
cd /var/www/owncloud
Controleer of de Versions-app is ingeschakeld en verifieer de account-ID waarop u zich wilt richten:
Controleer of de files_versionsapp is ingeschakeld voordat u de bijbehorende opschoonopdracht gebruikt.
Volgens de ownCloud-documentatie zijn versiecommando's alleen beschikbaar wanneer files_versionsdeze functie is ingeschakeld en niet in de onderhoudsmodus voor één gebruiker. Voer het commando uit occals de HTTP-gebruiker van de webserver, zodat de bestandsrechten consistent blijven. Op Debian of Ubuntu is dit meestal www-data; andere distributies gebruiken mogelijk een ander account. Zie de ownCloud-documentatie voor het commando occ .
2. Ga een stap terug en kies het bereik.
Voordat u de geschiedenis verwijdert, maakt u een back-up met behulp van uw gebruikelijke ownCloud-back-upprocedure. Neem zowel de database als de opslaglocatie met gebruikersbestanden en -versies op in de back-up. Controleer of de back-up is voltooid en kan worden hersteld; een back-up van alleen de database bevat mogelijk niet de daadwerkelijke versiebestanden.
In het hypothetische geval van Alex is de beoogde scope beperkt tot [ demo_userspecifieke gebruiker]. De gebruikers-ID moet overeenkomen met het account op deze server. Gebruik geen e-mailadres, weergavenaam of een andere gebruiker, omdat de opdracht gebruikers-ID's accepteert. Controleer de account-ID in het gebruikersbeheer van ownCloud voordat u de opdracht uitvoert, vooral als de namen in een directoryservice afwijken van de inlog-ID.
Als het de bedoeling is om alle oude versies voor dit account te verwijderen, gebruik dan de opdracht ` versions:cleanup. Er is geen testversie-optie voor deze opdracht gedocumenteerd, dus controleer het doel en de back-up voordat u de opdracht uitvoert. Zet de server niet in de onderhoudsmodus voor één gebruiker voor deze bewerking: ownCloud documenteert dat de `Versions`-opdrachten niet beschikbaar zijn in die modus.
3. Voer een gerichte opruimactie uit of selecteer bewust alle gebruikers.
Voor een standaard Linux-installatie voert u de opdracht uit vanuit de ownCloud-directory als de HTTP-gebruiker. Op Debian of Ubuntu zou Alex het volgende commando uitvoeren:
sudo -u www-data ./occ versions:cleanup demo_user
Door dit toe te voegen, demo_userwordt de opruimactie beperkt tot dat eigen Cloud-account.
In de gedocumenteerde syntaxis versions:cleanup [user_id]...worden één of meer account-ID's geaccepteerd. Als er geen ID wordt opgegeven, worden versiebeheerde bestanden voor alle gebruikers verwijderd. Gebruik de globale vorm alleen nadat u die scope expliciet hebt goedgekeurd:
sudo -u www-data ./occ versions:cleanup
Als u de gebruikers-ID weglaat, worden alle gebruikers geselecteerd. Controleer daarom of dit voor de hele server geldt voordat u verdergaat.
Het voorbeeld van ownCloud laat zien hoe de opdracht alle gebruikers identificeert die verwijderd moeten worden als er geen ID wordt opgegeven; het opgeven van ID's beperkt de bewerking tot die accounts. De handleiding vermeldt ook dat gepubliceerde persistente hoofdversies door een beheerder met deze opdracht verwijderd kunnen worden, zelfs als ze volgens het normale bewaarbeleid niet verlopen. Neem contact op met de eigenaren van de content voordat u accounts verwijdert die mogelijk goedgekeurde of gepubliceerde revisies bevatten. Voeg geen --no-interactionprompts toe om ze over te slaan. Voor een containerinstallatie is het gedocumenteerde patroon docker exec --user www-data <owncloud-container-name> occ <your-command>; vervang de placeholder door de daadwerkelijke containernaam en de opdracht die u hebt geselecteerd. Raadpleeg de instructies voor Docker en occ als uw implementatie een andere containergebruiker gebruikt.
4. Gebruik vervaldatum alleen wanneer bewaarregels het doel zijn.
Als Alex wilde dat ownCloud alleen versies verwijderde die volgens het geconfigureerde bewaarbeleid waren verlopen, zou het volgende commando geschikter zijn:
sudo -u www-data ./occ versions:expire demo_user
versions:expireHet past de geconfigureerde bewaarregels toe; het garandeert niet dat elke opgeslagen versie wordt verwijderd.
De ownCloud-referentie definieert versions:expirehet verwijderen van versies alleen als verlopen volgens de opgegeven criteria versions_retention_obligation. Daarentegen versions:cleanupverwijdert het alle versies binnen het geselecteerde bereik. Raadpleeg de gedocumenteerde instellingen voor versiebehoud voordat u het beleid wijzigt. De instelling disabledschakelt het verwijderen van versies uit; de reeds opgeslagen versies worden niet verwijderd.
Nadat de opdracht zonder fouten is voltooid, opent u de weergave Versies voor een bestand dat eigendom is van het betreffende account. Controleer of eerdere revisies niet langer worden weergegeven en of het huidige bestand nog steeds aanwezig is. Voor een opschoning van alle gebruikers controleert u representatieve accounts in plaats van ervan uit te gaan dat een specifieke opdracht globaal is uitgevoerd. Bewaar de back-up totdat de eigenaar bevestigt dat er geen historische versie meer nodig is. Als uw doel alleen was om te voldoen aan een bewaartermijn, gebruik versions:expireen controleer dan dat beleid in plaats van een onmiddellijke volledige verwijdering te verwachten.
Deze opdracht is specifiek bedoeld voor bestandsversies. Hij verwijdert geen items uit de prullenbak 'Verwijderde bestanden', back-uparchieven of de huidige bestanden zelf. Beschouw deze taken als aparte procedures voor gegevensbehoud; verwijder de map 'Versies' niet handmatig om de beschreven opdracht te vervangen.