Existe uma maneira de limitar o tamanho da lixeira?

12

Acabei o espaço em disco e tenho 15 GB no lixo. Existe uma maneira de não manter itens com mais de 7 dias ou limitar o tamanho da Lixeira?

Eu preciso de uma maneira de manter isso gerenciado automaticamente.

Jon Erickson
fonte

Respostas:

12

A Lixeira é apenas uma pasta (diretório) especial que a Apple cria e gerencia por meio do Finder, para que você possa "desfazer a exclusão" facilmente de itens (removendo-os da Lixeira) antes de excluir completamente (Lixeira Vazia). Como esse mecanismo é apenas um diretório no disco de inicialização, você tem tecnicamente todo o espaço do disco de inicialização para usar o Lixo, se desejar.

Se você quiser uma medida dos arquivos de remoção "automáticos" com mais de 7 dias, use um script simples do bash:

find ~/.Trash -mtime +7 -exec /bin/rm -rf {} \;

Usando seu editor de texto favorito, cole a linha acima em um novo arquivo e salve o arquivo como empty_trash_older_than_7_days.sh. No terminal, certifique-se de usar o chmodcomando para torná-lo executável da seguinte maneira:chmod +x /path/to/empty_trash_older_than_7_days.sh

Este comando, quando executado no terminal, encontrará todos os arquivos em sua lixeira (arquivos apenas do seu volume de inicialização - mais sobre isso em um minuto) com mais de 7 dias (a partir do momento em que você executa este comando) e passa cada arquivo para o rm -rfcomando. Como rmé um comando unix e não tem noção do Lixo, ele apenas elimina um unix que, para nossos propósitos, é uma exclusão real (como Esvaziando o Lixo).

Você pode então usar o cron (se você não estiver familiarizado com o Cron, confira a boa entrada do Cron na wikipedia ) para configurar uma execução recorrente desse script.

Pessoalmente, meu voto é apenas treinar-se para usar o Empty Trashitem de menu a cada poucos minutos, dias, semanas?

PS: se todo esse unix-ese for assustador demais, aposto que existem aplicativos simples para Mac que as pessoas escreveram para fazer exatamente esse tipo de coisa. Espero que alguém com algum conhecimento de um ou mais desses tipos de aplicativos possa oferecer uma resposta ou duas como contrapeso.

Boa sorte!

PS eu esqueci de falar sobre o volume não-arranque ... Se você excluir um arquivo de um volume OUTRAS do que o seu volume de inicialização, este arquivo irá para a pasta Trash nesse volume. Por exemplo, se você tivesse um volume nomeado Foo, haveria uma pasta .Trash em /Volumes/Foo/.Trash. O que documentei acima não excluirá esses arquivos. Você precisaria configurar algo semelhante para cada volume que tiver.

sorens
fonte
2
OS X findtambém tem uma -deletebandeira para que você possa usar find ~/.Trash -mtime +7 -delete. As datas de modificação não são uma indicação muito boa de quando os arquivos foram excluídos. No entanto, não conheço nenhuma maneira de acessar os metadados da data excluídos mostrados no Finder.
Lri
Concorde com o comentário acima ... Embora este seja um bom script, na prática ele exclui os itens pela data da modificação. Portanto, se eu lixeira uma pasta de coisas antigas de vez em quando e executar o script logo depois, a maioria das coisas dessa pasta é excluída. Seria bom se pudéssemos encontrar um parâmetro para a data excluída no arquivo.
jowie
@Jowie podemos usar -atime, que é o último tempo de acesso. A propósito, há outro problema - isso deixa os diretórios vazios no Lixo ...
Nome para exibição
3

O Hazel pode ser configurado para manter os arquivos apenas por um certo período de tempo e para manter o lixo sob um determinado tamanho. Você também pode adicionar regras personalizadas para excluir arquivos grandes imediatamente ou excluir arquivos nas pastas de lixo de outros volumes.

Lri
fonte
0

John Wiegley é dirscan , em particular o cleanup.pyexemplo, é projetado para lidar com as questões identificadas com as abordagens usando find. dirscanfornece uma solução de propósito mais geral, na qual você pode configurá-lo para verificar / limpar diretórios diferentes de maneiras diferentes.

jwd630
fonte