Home
» Come fare
»
Elimina in modo sicuro le versioni dei file di ownCloud con il comando occ
Elimina in modo sicuro le versioni dei file di ownCloud con il comando occ
Per ownCloud Server Classic , il comando amministratore per rimuovere le versioni salvate dei file è occ versions:cleanup. Aggiungi uno o più ID utente per limitare l'eliminazione; ometti gli ID utente solo se intendi eliminare la cronologia delle versioni per ogni utente. Questa operazione è irreversibile, quindi esegui prima un backup del database e dell'archivio file di ownCloud.
Esempio ipotetico: Alex amministra un server ownCloud Classic e deve rimuovere le vecchie revisioni di un account di test dismesso denominato demo_user. Questo esempio fittizio mostra il comando specifico e lo confronta con una pulizia a livello di server; non descrive un'esecuzione reale né il relativo risultato.
1. Conferma l'edizione di ownCloud e il target
I passaggi seguenti utilizzano occl'interfaccia a riga di comando documentata per ownCloud Server 10.16. Non si applicano a ownCloud Infinite Scale (oCIS), che utilizza un set di comandi diverso. Se non si è certi di quale prodotto sia installato, si consiglia di contattare l'amministratore prima di eseguire la disinstallazione.
Su una normale installazione Linux, spostati nella directory di installazione di ownCloud. Il percorso seguente è un esempio per Ubuntu; usa il tuo percorso effettivo:
cd /var/www/owncloud
Verifica che l'app Versions sia abilitata e controlla l'ID dell'account che intendi utilizzare come destinazione:
Verifica se l' files_versionsapp è abilitata prima di utilizzare il relativo comando di pulizia.
La documentazione di ownCloud afferma che i comandi di versione sono disponibili solo quando files_versionsè abilitato e non sono disponibili in modalità di manutenzione a utente singolo. Eseguire occcome utente HTTP del server web in modo che i permessi dei file rimangano coerenti. Su Debian o Ubuntu questo è solitamente www-data; altre distribuzioni potrebbero utilizzare un account diverso. Consultare la documentazione di ownCloud relativa al comando occ .
2. Torna indietro e scegli l'ambito
Prima di eliminare la cronologia, esegui un backup utilizzando la normale procedura di backup di ownCloud. Includi il database e la posizione di archiviazione che contiene i file e le versioni degli utenti. Verifica che il backup sia stato completato correttamente e che possa essere ripristinato; una copia del solo database potrebbe non contenere i file di versione effettivi.
Nel caso ipotetico di Alex, l'ambito previsto è solo demo_user. L'ID utente deve corrispondere all'account su questo server. Non sostituire con un indirizzo email, un nome visualizzato o un utente diverso perché il comando accetta ID utente. Conferma l'identificativo dell'account nell'amministrazione utenti di ownCloud prima di eseguire il comando, soprattutto se i nomi in un servizio di directory differiscono dall'ID di accesso.
Se l'obiettivo è rimuovere tutte le versioni precedenti per questo account, utilizzare versions:cleanup. Non è documentata alcuna opzione di prova per questo comando, quindi esaminare la destinazione ed eseguire un backup prima di eseguirlo. Non impostare il server in modalità di manutenzione utente singolo per questa operazione: ownCloud documenta che i comandi Versions non sono disponibili in tale modalità.
3. Eseguire una pulizia mirata o selezionare deliberatamente tutti gli utenti
Per una normale installazione Linux, esegui il comando dalla directory ownCloud come utente HTTP. Su Debian o Ubuntu, Alex eseguirà:
sudo -u www-data ./occ versions:cleanup demo_user
L'aggiunta demo_userlimita la pulizia a quell'account ownCloud.
Nella sintassi documentata, versions:cleanup [user_id]...accetta uno o più ID account. Se non viene specificato alcun ID, elimina i file versionati per tutti gli utenti. Utilizzare la forma globale solo dopo averne esplicitamente approvato l'ambito:
sudo -u www-data ./occ versions:cleanup
Omettendo l'ID utente vengono selezionati tutti gli utenti, quindi è necessario verificare che l'ambito sia a livello di server prima di procedere.
L'esempio di ownCloud mostra il comando che identifica tutti gli utenti da eliminare quando non viene fornito alcun ID; fornendo gli ID, l'operazione viene limitata a tali account. Il manuale nota inoltre che le versioni principali persistenti pubblicate possono essere rimosse da un amministratore con questo comando, anche se le normali policy di conservazione non le fanno scadere. Prima di eliminare account che potrebbero contenere revisioni approvate o pubblicate, consultare i proprietari dei contenuti. Non aggiungere --no-interactionper saltare le richieste. Per un'installazione in container, il modello documentato è docker exec --user www-data <owncloud-container-name> occ <your-command>; sostituire il segnaposto con il nome effettivo del container e il comando selezionato. Consultare le istruzioni di Docker e occ se la distribuzione utilizza un utente container diverso.
4. Utilizzare la scadenza solo quando l'obiettivo è rispettare le regole di conservazione.
Se Alex volesse che ownCloud rimuovesse solo le versioni scadute in base alla policy di conservazione configurata, il comando più appropriato sarebbe:
sudo -u www-data ./occ versions:expire demo_user
versions:expireApplica le regole di conservazione configurate; non garantisce la rimozione di ogni versione salvata.
Il riferimento ownCloud definisce l' versions:expireeliminazione come la cancellazione delle sole versioni scadute secondo versions_retention_obligation. Al contrario, versions:cleanupelimina tutte le versioni all'interno dell'ambito selezionato. Prima di modificare i criteri, consultare le impostazioni di conservazione delle versioni documentatedisabled . L'impostazione disabilita l'eliminazione delle versioni; non elimina definitivamente le versioni già memorizzate.
Questo articolo riguarda ownCloud Server Classic. Infinite Scale ha i propri comandi per la pulizia delle revisioni; si consiglia di seguire la documentazione di oCIS sulla pulizia delle revisioni anziché eseguire i comandi occda lì.
Verifica il risultato
Una volta completato il comando senza errori, apri la visualizzazione Versioni per un file di proprietà dell'account di destinazione. Verifica che le revisioni precedenti non siano più presenti e che il file corrente sia ancora disponibile. Per una pulizia completa di tutti gli utenti, controlla gli account rappresentativi anziché presumere che un comando mirato sia stato eseguito a livello globale. Conserva il backup finché il proprietario non conferma che non è più necessaria alcuna versione precedente. Se il tuo obiettivo era solo quello di rispettare un piano di conservazione, utilizza versions:expiree verifica tale piano anziché aspettarti un'eliminazione completa immediata.
Questo comando è specifico per le versioni dei file. Non svuota il Cestino, non rimuove gli archivi di backup né elimina i file correnti. Queste operazioni vanno considerate come attività separate di conservazione dei dati; non rimuovere manualmente la directory delle versioni per sostituire il comando documentato.