Home
» AMMINISTRAZIONE DI RETE
»
Come eliminare la cronologia delle versioni dei file di ownCloud dalla riga di comando
Come eliminare la cronologia delle versioni dei file di ownCloud dalla riga di comando
La riga di comando di ownCloud può liberare spazio di archiviazione rimuovendo le versioni dei file, ma il comando corretto dipende da cosa si intende per "eliminare". È possibile fare in modo che ownCloud faccia scadere solo le versioni che violano i criteri di conservazione configurati, rimuovere tutte le versioni salvate per uno o più account oppure rimuovere tutte le versioni a livello di sistema. Queste opzioni differiscono notevolmente in termini di reversibilità e portata. Innanzitutto, verificare se il server in uso è ownCloud Server o ownCloud Infinite Scale ; utilizzano strumenti da riga di comando diversi.
I comandi seguenti si basano sulla documentazione di amministrazione di ownCloud Server 10.16 e 11.0 e sulla guida di Infinite Scale 8.2, verificate il 6 ottobre 2026. I percorsi, i nomi dei servizi e gli ID degli account variano a seconda dell'installazione, quindi è necessario adattare gli esempi prima di eseguirli su un server di produzione.
Scegli il metodo di pulizia più adatto al tuo obiettivo
Metodo
Ciò che rimuove
Migliore vestibilità
Principale compromesso
versions:expiresul server ownCloud
Versioni considerate scadute dalla regola di conservazione configurata
Manutenzione ordinaria e controllo delle quote
Conserva le versioni ancora coperte dalla policy, quindi potrebbe non recuperare immediatamente la stessa quantità di spazio di una cancellazione completa.
versions:cleanup USER_IDsul server ownCloud
Tutte le versioni salvate per l'account o gli account specificati
Rimozione della cronologia per un account specifico
L'utente perde la possibilità di ripristinare le versioni precedenti, incluse quelle pubblicate.
versions:cleanupsenza ID utente
Tutte le versioni salvate per tutti gli utenti di ownCloud Server
Un riassetto pianificato a livello di tutta l'organizzazione
Si tratta di un'operazione distruttiva di vasta portata e il comando documentato non prevede un'opzione di anteprima.
ocis revisions purgesu scala infinita
Revisioni in tutti gli spazi per impostazione predefinita, oppure un ambito di risorse più ristretto se specificato
Distribuzioni su scala infinita che necessitano di una revisione per la pulizia
Il suo comportamento in modalità di simulazione e le opzioni del percorso di archiviazione sono diversi dai occcomandi di ownCloud Server.
Per la gestione ricorrente dello spazio di archiviazione, inizia con i criteri di conservazione e versions:expire. Usali versions:cleanupsolo quando desideri cancellare consapevolmente la cronologia selezionata ora.
1. Conferma il tuo prodotto ownCloud e la posizione del comando
Per ownCloud Server, connettiti all'host o al container che esegue l'applicazione PHP e spostati nella directory di installazione di ownCloud, dove occsi trova lo script. Un modello comune in Linux è quello di eseguire i comandi come account del server web, spesso www-datao wwwrun:
cd /var/www/owncloud sudo -u www-data php occ status
Utilizzare il percorso di installazione e l'account del server web effettivi per il proprio sistema. L'esecuzione occcome root può lasciare file di proprietà dell'account sbagliato, quindi utilizzare l'account di servizio documentato. Verificare che l'app Versioni files_versionssia abilitata; i comandi di versione non sono disponibili quando tale app è disabilitata e non sono disponibili in modalità di manutenzione per utente singolo.
Il occ statuscomando verifica l'installazione di ownCloud Server prima della pulizia della versione.
Se ownCloud Server è in esecuzione in Docker, esegui il comando all'interno del container dell'applicazione. Ad esempio, dalla directory contenente la configurazione di Compose, un deployment potrebbe utilizzare docker compose exec owncloud occ status; sostituisci owncloudcon il nome effettivo del servizio nel tuo file Compose. Non utilizzare gli occesempi per Infinite Scale.
2. Decidere se imporre la conservazione o cancellare la cronologia.
Utilizza la scadenza quando desideri una pulizia basata su criteri.
versions:expirevaluta le versioni rispetto versions_retention_obligationall'impostazione in config.php. Senza un ID utente, si applica a tutti gli utenti; è anche possibile elencare uno o più ID utente. Per un singolo account, il comando è:
sudo -u www-data php occ versions:expire alice
Sostituisci con l'ID account reale, non con il nome visualizzato o l'indirizzo email della persona, a meno che l'account non sia identificato in questo modo nella tua installazione. Per eseguire il processo di scadenza su tutti gli account, ometti alice. Questa scelta rispetta la regola di conservazione configurata: non eliminerà necessariamente le versioni recenti o altrimenti conservate.
Il versions:expirecomando applica i criteri di conservazione configurati a un account specificato.
La documentazione di ownCloud Server descrive autoil modello di conservazione predefinito e documenta anche alternative basate sul tempo. Prima di avviare la procedura di scadenza, è consigliabile rivedere la propria policy, soprattutto se l'organizzazione ha requisiti di conservazione legali o operativi. Per la normale scadenza ricorrente, ownCloud la esegue come processo in background. Il manuale di amministrazione raccomanda l'utilizzo di cron per i processi in background; l'avvio manuale della scadenza è utile per interventi di manutenzione programmati, ma non dovrebbe essere un sostituto improvvisato di uno scheduler correttamente configurato.
Utilizzare la funzione di pulizia quando si intende eliminare ogni versione nell'ambito
Per un account, esegui:
sudo -u www-data php occ versions:cleanup alice
Per più account, fornisci i relativi ID separati da spazi:
sudo -u www-data php occ versions:cleanup alice bob
Senza ID, il comando rimuove tutti i file versionati per tutti gli utenti:
sudo -u www-data php occ versions:cleanup
Passando un ID account, la pulizia completa della cronologia viene applicata solo a quell'utente.
Eseguire prima un backup se le versioni potrebbero essere necessarie per il ripristino e confermare gli ID account prima dell'esecuzione. Il comando documentato elimina i dati della versione e la files_versionscartella associata per il suo ambito. Rimuove anche le versioni pubblicate che altrimenti persisterebbero oltre la normale conservazione. Non è documentato alcun flag "solo anteprima" supportato per ownCloud Server versions:cleanup, quindi un errore di battitura o un ID omesso possono avere un impatto maggiore del previsto.
3. Comprendere la differenza tra ownCloud Server e Infinite Scale
ownCloud Infinite Scale (oCIS) non utilizza il occ versions:cleanupcomando PHP. La sua documentazione di amministrazione descrive la pulizia delle revisioni con ocis revisions purge. Il comando per impostazione predefinita esegue una simulazione, che riporta cosa verrebbe rimosso senza eliminare le revisioni. È richiesto il percorso di archiviazione utente configurato; questo esempio utilizza un percorso segnaposto:
ocis revisions purge -p /base/path/storage/users
Esamina i risultati della simulazione e verifica che il percorso di archiviazione sia corretto. Per rimuovere effettivamente le revisioni elencate da tale simulazione, disabilita esplicitamente la simulazione:
Per impostazione predefinita, il comando Scala infinita si applica alle revisioni in tutti gli spazi. La sua --resource-idopzione consente di restringere l'operazione a uno spazio o a un singolo file, a condizione che si disponga dell'ID corretto. Se il percorso o l'ambito non sono certi, interrompere l'operazione durante la simulazione e confermare entrambi con la configurazione di distribuzione. La documentazione indica che le modalità di globbing alternative possono aumentare l'utilizzo di CPU e memoria su spazi di grandi dimensioni; mantenere l'impostazione predefinita a meno che non si riscontri la necessità di modificarla.
Senza un ID utente, versions:cleanupil sistema prende di mira tutti gli utenti di ownCloud Server.
4. Verificare il risultato senza eliminare ulteriori dati
Dopo una pulizia del server, esamina alcuni account rappresentativi nell'interfaccia web e verifica che le voci obsolete non siano più visualizzate nella cronologia delle versioni di ciascun file. Controlla l'output del comando per gli utenti elaborati. Per Infinite Scale, confronta i risultati della pulizia con l'output della simulazione e rivedi lo stato di completamento del comando. Quindi controlla l'utilizzo dello spazio di archiviazione al livello rilevante per la tua implementazione: report delle quote di ownCloud, file system locale o archivio oggetti configurato.
Non rimuovere manualmente i file per files_versions"completare" una pulizia. I comandi supportati da ownCloud coordinano la pulizia delle versioni con i metadati dell'applicazione; l'eliminazione degli oggetti di archiviazione dietro l'applicazione può lasciare record incoerenti. Inoltre, il recupero dello spazio su disco del server potrebbe differire dal numero di versioni rimosse se il backend di archiviazione utilizza snapshot, repliche o ha un proprio comportamento di eliminazione ritardata. Questo aspetto dipende dal backend e deve essere verificato con il relativo amministratore o fornitore.
Quale opzione dovresti utilizzare?
Scegliversions:expire quando il tuo obiettivo è la gestione continua delle quote con le regole di conservazione esistenti.
Scegli l'opzione "Ambito"versions:cleanup USER_ID quando devi rimuovere tutta la cronologia per gli account noti e hai accettato la perdita dei punti di ripristino.
Selezionare "versions:cleanup Solo globale" per un ripristino intenzionale dell'intero sistema dopo il backup e la revisione dell'ambito.
Scegli il flusso di lavoro di pulizia Infinite Scale solo su oCIS e rivedi la sua simulazione predefinita prima di impostarlo --dry-run=false.
Nota sulla versione: il comportamento dei comandi e gli esempi sono stati verificati rispetto alla documentazione di ownCloud Server 10.16/11.0 e Infinite Scale 8.2 il 6 ottobre 2026. Verificare il manuale corrispondente alla versione installata prima di eseguire un'operazione distruttiva.