Início
» Como fazer
»
Limpe com segurança as versões de arquivos do ownCloud usando o comando occ.
Limpe com segurança as versões de arquivos do ownCloud usando o comando occ.
Para o ownCloud Server Classic , o comando de administrador para remover versões de arquivos salvas é ` occ versions:cleanupremove_versions`. Adicione um ou mais IDs de usuário para limitar a exclusão; omita os IDs de usuário somente se você pretende excluir o histórico de versões de todos os usuários. Este procedimento é destrutivo, portanto, faça backup do banco de dados e do armazenamento de arquivos do ownCloud primeiro.
Exemplo hipotético: Alex administra um servidor ownCloud Classic e precisa remover revisões antigas de uma conta de teste desativada chamada <nome da conta> demo_user. Este exemplo fictício mostra o comando específico e o compara com uma limpeza em todo o servidor; não descreve uma execução ou resultado real.
1. Confirme a edição e o destino do ownCloud.
Os passos abaixo utilizam occa interface de linha de comando documentada para o ownCloud Server 10.16. Eles não se aplicam ao ownCloud Infinite Scale (oCIS), que utiliza um conjunto de comandos diferente. Caso não tenha certeza de qual produto está instalado, consulte o administrador antes de executar uma limpeza.
Em uma instalação Linux padrão, acesse o diretório de instalação do ownCloud. O caminho a seguir é um exemplo para Ubuntu; use o seu caminho real:
cd /var/www/owncloud
Verifique se o aplicativo Versions está ativado e confirme o ID da conta que você pretende usar como alvo:
Verifique se o files_versionsaplicativo está habilitado antes de usar o comando de limpeza.
A documentação do ownCloud informa que os comandos de versão estão disponíveis apenas quando files_versionso recurso está habilitado e não estão disponíveis no modo de manutenção para um único usuário. Execute o comando occcomo o usuário HTTP do servidor web para que as permissões de arquivo permaneçam consistentes. No Debian ou Ubuntu, geralmente é o usuário `user` www-data; outras distribuições podem usar uma conta diferente. Consulte a documentação do comando `occ` do ownCloud .
2. Faça um backup e selecione o escopo.
Antes de excluir o histórico, faça um backup usando seu procedimento normal de backup do ownCloud. Inclua o banco de dados e o local de armazenamento que contém os arquivos e versões dos usuários. Confirme se o backup foi concluído e pode ser restaurado; uma cópia somente do banco de dados pode não conter os arquivos de versão reais.
Para o caso hipotético de Alex, o escopo pretendido é apenas o de login demo_user. O ID do usuário deve corresponder à conta neste servidor. Não substitua por um endereço de e-mail, nome de exibição ou um usuário diferente, pois o comando aceita IDs de usuário. Confirme o identificador da conta na administração de usuários do ownCloud antes de executar o comando, especialmente se os nomes em um serviço de diretório forem diferentes do ID de login.
Se o objetivo é remover todas as versões antigas desta conta, use o comando ` versions:cleanupremove`. Não há opção de simulação documentada para este comando, portanto, revise o destino e faça um backup antes de executá-lo. Não coloque o servidor em modo de manutenção de usuário único para esta operação: o ownCloud documenta que os comandos de versões não estão disponíveis nesse modo.
3. Execute uma limpeza direcionada ou selecione deliberadamente todos os usuários.
Para uma instalação Linux padrão, execute o comando a partir do diretório ownCloud como o usuário HTTP. No Debian ou Ubuntu, Alex executaria:
sudo -u www-data ./occ versions:cleanup demo_user
Adicionar essa demo_useropção limita a limpeza àquela conta ownCloud.
Na sintaxe documentada, versions:cleanup [user_id]...aceita um ou mais IDs de conta. Se nenhum ID for fornecido, exclui os arquivos versionados de todos os usuários. Use a forma global somente após aprovar explicitamente esse escopo:
sudo -u www-data ./occ versions:cleanup
Omitir o ID do usuário seleciona todos os usuários, portanto, confirme se o escopo é válido para todo o servidor antes de prosseguir.
O exemplo do ownCloud mostra o comando identificando todos os usuários para exclusão quando nenhum ID é fornecido; fornecer IDs restringe a operação a essas contas. O manual também observa que versões principais persistentes publicadas podem ser removidas por um administrador com este comando, mesmo que as políticas normais de retenção não as expirem. Consulte os proprietários do conteúdo antes de excluir contas que possam conter revisões aprovadas ou publicadas. Não adicione --no-interactionprompts para ignorá-los. Para uma instalação em contêiner, o padrão documentado é docker exec --user www-data <owncloud-container-name> occ <your-command>`<nome_do_contêiner>`; substitua o espaço reservado pelo nome real do contêiner e o comando selecionado. Consulte as instruções do Docker e do occ se sua implantação usar um usuário de contêiner diferente.
4. Utilize a expiração somente quando as regras de retenção forem o objetivo.
Se Alex quisesse que o ownCloud removesse apenas as versões que expiraram de acordo com a política de retenção configurada, o comando mais apropriado seria:
sudo -u www-data ./occ versions:expire demo_user
versions:expireAplica as regras de retenção configuradas; não garante a remoção de todas as versões salvas.
A referência do ownCloud define versions:expirea exclusão apenas de versões expiradas, de acordo com as configurações versions_retention_obligation. Por outro lado, a configuração `retention.all` versions:cleanupexclui todas as versões dentro do escopo selecionado. Revise as configurações de retenção de versões documentadas antes de alterar a política. Essa configuração disableddesativa a exclusão de versões; ela não remove as versões já armazenadas.
Este artigo aborda o ownCloud Server Classic. O Infinite Scale possui seus próprios comandos de limpeza de revisões; siga a documentação de limpeza de revisões do oCIS em vez de executar os comandos occlá.
Verifique o resultado
Após a conclusão do comando sem erros, abra a visualização de Versões para um arquivo pertencente à conta em questão. Confirme se as revisões anteriores não estão mais listadas e se o arquivo atual ainda está presente. Para uma limpeza de todos os usuários, verifique contas representativas em vez de presumir que um comando específico foi executado globalmente. Mantenha o backup até que o proprietário confirme que nenhuma versão histórica ainda é necessária. Se o seu objetivo era apenas cumprir um cronograma de retenção, utilize versions:expiree verifique essa política em vez de esperar uma exclusão completa imediata.
Este comando é específico para versões de arquivos. Ele não limpa itens da Lixeira (Arquivos Excluídos), não remove backups nem exclui os arquivos atuais. Trate essas ações como tarefas separadas de retenção de dados; não remova manualmente o diretório de versões para substituir o comando documentado.