Home
» Hoe
»
Stel een betrouwbaar vervalbeleid in voor verwijderde bestanden in Nextcloud.
Stel een betrouwbaar vervalbeleid in voor verwijderde bestanden in Nextcloud.
Om de map 'Verwijderde bestanden' in Nextcloud automatisch te legen, stelt u een maximale bewaartermijn in en zorgt u ervoor dat de achtergrondtaken van Nextcloud volgens een schema worden uitgevoerd. Stel bijvoorbeeld trashbin_retention_obligationin dat auto, 30items ouder dan 30 dagen automatisch uit de prullenbak moeten worden verwijderd en voer vervolgens de door Nextcloud aanbevolen systeemcronjob elke vijf minuten uit. Het standaardbeleid autogarandeert op zichzelf geen verwijdering na 30 dagen.
Automatische verwijdering is permanent. Kies een bewaartermijn die gebruikers de tijd geeft om fouten te herstellen en maak back-ups van alles wat na verwijdering uit de prullenbak nog steeds herstelbaar moet zijn.
Wat ruimt Nextcloud standaard op?
In de beheerdersdocumentatie van Nextcloud 35 staat beschreven autodat verwijderde items minimaal 30 dagen bewaard blijven en vervolgens verwijderd kunnen worden als er opslagruimte nodig is. Als er geen ruimte nodig is, kunnen items langer dan 30 dagen blijven staan. Dit gedrag maakt de prullenbak een herstelgebied, en geen strikte verwijderingstermijn van 30 dagen.
Beleidswaarde
Wat het betekent
Gebruik het wanneer
auto
Bewaar de spullen minimaal 30 dagen; verwijder ze later als er meer ruimte nodig is.
Je wilt het standaard herstelvenster en op ruimte gebaseerde opruiming.
auto, 30
Verwijder automatisch items die ouder zijn dan 30 dagen; items kunnen ook eerder worden verwijderd als er ruimte nodig is.
Je wilt een maximale leeftijd van 30 dagen.
30, 90
Bewaar items minimaal 30 dagen en verwijder ze na 90 dagen.
Je wilt een herstelperiode plus een bovengrens voor de bewaartermijn.
disabled
Maak de prullenbak niet automatisch schoon.
U hanteert een apart bewaarproces en bent van plan verwijderde items te bewaren.
De bewaartermijn is niet absoluut als het quotum van een gebruiker wordt overschreden door items in de prullenbak: Nextcloud kan het geconfigureerde beleid negeren en items verwijderen totdat aan de quotumvereiste is voldaan. Raadpleeg de actuele documentatie over de bewaartermijn van items in de prullenbak voordat u een beleid toepast op accounts met quotumbeperkingen.
Stel een maximale leeftijd in voor verwijderde bestanden.
Voer het programma occuit vanuit de Nextcloud-installatiemap en als de HTTP-gebruiker, zodat de bestandsrechten consistent blijven. Op Debian of Ubuntu is die gebruiker meestal `/ www-datanextcloud /var/www/nextcloud...
De uitvoer zou moeten laten zien dat er auto, 30een ander beleid geldt. Als u een ander beleid wilt, gebruik dan de bovenstaande tabel en voer de bijbehorende waarde in. Deze 30, 90optie is bedoeld om items minimaal 30 dagen te bewaren en na 90 dagen te verwijderen; quotahandhaving kan echter nog steeds een eerdere verwijdering afdwingen.
Zorg ervoor dat achtergrondtaken betrouwbaar worden uitgevoerd.
Nextcloud voert het verwijderen van verwijderde items uit als een achtergrondtaak. Volgens de beheerdershandleiding wordt deze taak elke 30 minuten uitgevoerd, maar dit is afhankelijk van het feit of de achtergrondtaak-runner van uw installatie wordt gestart. Nextcloud raadt aan om cron van het besturingssysteem te gebruiken voor terugkerende taken; de standaard AJAX-modus is minder betrouwbaar omdat taken alleen worden uitgevoerd wanneer gebruikers de site bezoeken.
Nextcloud in cron-modus zetten:
sudo -E -u www-data php occ background:cron
Schakel Nextcloud over naar de cron-modus, zodat geplande achtergrondtaken niet afhankelijk zijn van het openen van de site door gebruikers.
Bewerk vervolgens de crontab van de webservergebruiker. Op een typische Debian- of Ubuntu-host:
sudo crontab -u www-data -e
Voeg deze regel toe en pas het PHP-uitvoerbare bestand of het Nextcloud-pad aan als uw installatie andere locaties gebruikt:
*/5 * * * * php -f /var/www/nextcloud/cron.php
Plan cron.php in onder de HTTP-gebruiker. Vervang het voorbeeldpad naar Nextcloud door het pad naar uw installatie.
Dit schema activeert de achtergrondrunner van Nextcloud elke vijf minuten; individuele taken hebben hun eigen schema. Gebruik voor een containerimplementatie de gedocumenteerde cron-service of geplande worker voor die implementatie en voer deze uit cron.phpals de Nextcloud-webgebruiker. Voeg geen tweede taak toe als uw image of platform deze al uitvoert.
Hoe kun je de houdbaarheidsdatum veilig controleren?
Controleer eerst zowel het beleid als de geplande taak. Controleer het beleid met occ config:system:get trashbin_retention_obligation, en toon vervolgens de geplande taak:
sudo crontab -u www-data -l
Controleer de opgeslagen bewaartermijn en bevestig dat de webservergebruiker de terugkerende cron.php-vermelding heeft.
Controleer in de beheerdersinstellingen van Nextcloud of achtergrondtaken zijn ingesteld op Cron en of de tijd van de laatste taakuitvoering wordt opgeschoven. Nadat de ingestelde maximale bewaartermijn is verstreken, controleert u de verwijderde bestanden op een oud testitem dat veilig kan worden verwijderd. De taak voor het verwijderen van bestanden wordt volgens een vast schema uitgevoerd, dus het opruimen vindt niet per se direct plaats wanneer de bewaartermijn is verstreken.
Voor een eenmalige test met een aangepast bewaarbeleid kunt u de volgende opdracht uitvoeren:
In de huidige Nextcloud-versie trashbin:expirewordt de geconfigureerde bewaartermijn toegepast. Met het standaardbeleid autowordt de opdracht afgesloten zonder dat items verlopen; de standaard automatische verwijdering wordt afgehandeld door de achtergrondtaak. Vervang dit niet door trashbin:cleanup --all-users: die opdracht verwijdert permanent alle prullenbak voor elke gebruiker, ongeacht de leeftijd, en is geen standaard bewaarinstelling.
Snelle verificatiechecklist
Het actieve beleid dat wordt geretourneerd, occ config:system:get trashbin_retention_obligationkomt overeen met de door u gewenste bewaartermijn.
Nextcloud-achtergrondtaken zijn ingesteld op Cron, en de crontab van de webservergebruiker bevat het juiste cron.phppad.
De laatst uitgevoerde taaktijd wordt in de beheerinstellingen aangepast.
Een oud testitem dat de maximale leeftijd heeft overschreden, verdwijnt nadat de achtergrondtaak is uitgevoerd, terwijl nieuwere items behouden blijven, tenzij opslag- of quotabeperkingen opruiming vereisen.
Als de laatst uitgevoerde tijd niet oploopt, controleer dan eerst de cronjob van het systeem, het PHP CLI-pad, de webservergebruiker en het Nextcloud-pad voordat u de bewaartermijn wijzigt. Een correct beleid kan niets opschonen als de achtergrondrunner nooit wordt uitgevoerd.