Eu gostaria de executar um trabalho cron noturno que exclua todos os arquivos em uma pasta que não foram acessados em uma semana ou mais. Qual é a maneira mais eficiente de fazer isso no bash?
shell-script
files
cron
date
bloudermilk
fonte
fonte
find
pode filtrar com base no atime. A "correção" do atime depende da configuração (vejanoatime
), no mínimo.Respostas:
Você quer a
find
ferramenta .(Isso excluirá todos os arquivos ( apenas arquivos regulares , sem canais, dispositivos especiais, diretórios, links simbólicos) na pasta fornecida e todos os subdiretórios (recursivamente) nos quais o último tempo de acesso for superior a 7 dias atrás.)
fonte
-type f
lá para garantir que ele exclua apenas arquivos, não diretórios inteiros.Convém verificar o
tmpwatch
que pode ser colocado em um trabalho cron. Não há necessidade de criar o seu própriofind
. No RHEL está notmpwatch
RPM.fonte
find
.