Como excluir arquivos mais velhos que os 10 dias no Linux

Como excluir arquivos mais velhos que os 10 dias no Linux
“Este tutorial do Linux explica como excluir arquivos com mais de 30 dias. Depois de ler este artigo, você poderá excluir arquivos de acordo com o momento em que eles foram criados. Como todos os usuários do Linux devem saber como encontrar e excluir arquivos de acordo com um Mtime específico (tempo de modificação/criação), esse conteúdo é otimizado para usuários novos e experientes. Todos os exemplos mostrados abaixo são válidos para cada distribuição Linux.

Todas as instruções incluídas neste documento contêm capturas de tela, facilitando para cada usuário do Linux entender e aplicá -las.”

Observação: Este artigo usa como exemplo de arquivos com mais de 30 dias, mas você pode alterar o número de dias substituindo 30 por qualquer número que desejar.

Excluindo arquivos de 30 dias de idade no Linux

Para começar, vamos ver como listar arquivos mostrando sua data usando o ls (List) comando seguido pelo -eu bandeira para listagem longa e pelo caminho. No meu caso, o caminho é o LinuxHintDirectory diretório localizado no diretório atual.

LS -L LinuxHintDirectory/

Como você pode ver na figura acima, existem dois arquivos e 2 diretórios com mais de 30 dias. Podemos ver arquivos WPA.cerquilha e WP-Config.php, e WPASCAN e zmap diretórios.

O comando abaixo removerá arquivos (sem diretórios) no caminho especificado (como dito, meu caminho é LinuxHintDirectory localizado sob o caminho atual).

Observação: No meu caso, estou lidando com arquivos criados pelo usuário root. Remover arquivos massivamente como root não é recomendado.

sudo encontre linuxhintdirectory -Type f -mtime +30 -Delete

Observação: Você pode substituir +30 por +x (o número é arbitrário, dependendo de suas necessidades) para encontrar arquivos mais antigos que x. Ou -x para encontrar arquivos mais recentes que x. As diferenças são os símbolos mais e menos.

Como você pode ver na imagem anterior, arquivos WPA.cerquilha e WP-Config.php foram excluídos com sucesso usando o comando descrito onde:

sudo: Este comando fornece privilégios no caso de os arquivos que você deseja remover requer privilégios do superusuário. Usar sudo ao remover arquivos não é a melhor opção; Eu usei apenas para os exemplos.

encontrar:

LinuxhintDirectory: Em exemplos anteriores, LinuxHintDirectory é o diretório onde os arquivos que eu quero remover são armazenados. Este campo deve ser substituído pelo caminho real para os arquivos que você deseja excluir.

-tipo: Este sinalizador de comando de encontro é usado para definir o tipo de arquivo que você deseja remover (use um f para arquivos e um d para diretórios).

f: Depois de usar o sinalizador -tipo, o F, neste caso, foi usado para especificar, queremos remover arquivos, exceto para diretórios.

-Mtime: O -mtime A bandeira é usada para especificar que queremos encontrar arquivos de acordo com o tempo de criação ou modificação. Esta bandeira deve ser seguida por um menos (-) e o número de dias para arquivos criados/modificados após a data especificada. Ou um símbolo positivo (+) seguido pelo número de dias criados ou modificados por arquivos mais antigos do que x dias atrás.

+30: Como dito anteriormente, a bandeira -mtime deve ser seguida pelo número de dias, segundo os quais queremos encontrar arquivos. Nesse caso, +30 especifica arquivos criados há mais de 30 dias; Você precisa substituir o número pelos dias que deseja definir como parâmetros.

-excluir: Esta bandeira instrui o comando encontre para excluir arquivos que correspondem aos sinalizadores descritos anteriormente.

Apenas para o caso, quero mostrar outro exemplo mostrando um caminho com subdiretos, como você pode ver abaixo, onde o local LinuxHintDirectory é definido no diretório inicial do usuário.

sudo encontre ~/linuxhintdirectory -Type f -mtime +30 -Delete

Agora podemos ver na captura de tela abaixo do local LinuxHintDirectory contém subdiretos EmptyDir1, EmptyDir2, Linuxhintdir3, Modelos, teste, e Touchp.

De acordo com as datas mostradas abaixo, os únicos diretórios elegíveis a serem removidos são Linuxhintdir3, Modelos, teste, e Touchp.

LS -L LinuxHintDirectory/

Agora vamos ver o que acontece quando você substituir -Tipo F com -Tipo d para especificar diretórios.

sudo encontre ~/linuxhintdirectory -Type d -mtime +30 -Delete

Como você pode ver abaixo, de todos os diretórios que correspondem à condição de mais de 30 dias, apenas dois foram removidos: Linuxhintdir3 e Modelos. Isso ocorre porque o comando anterior remove apenas diretórios vazios. Você pode 'remover os diretórios recursivamente usando o comando descrito acima. É por isso que você vê erros na última captura de tela, avisando que não pode excluir os diretórios listados por não vazios.

Para remover diretórios com conteúdo interno, combinaremos o comando de localização com o rm comando. Antes, vamos verificar o Linuxhintdir diretório de arquivos internos e subdiretórios, adicionando o -R (Recursiva) bandeira como mostrado abaixo.

ls -rl linuxhintdir/

Como você pode ver acima, todos os arquivos e diretórios têm mais de 30 dias. Portanto, para remover todos eles, executo o seguinte comando, como mostrado abaixo.

sudo encontra ./linux/linuxhintdir -Type d -mtime +30 -exec rm -rf \;

Como você pode ver, o diretório Linxhintdir não foi removido, mas todo o seu conteúdo foi removido. Como você pode ver na captura de tela abaixo, a razão por trás Linuxhintdir A persistência é o diretório foi criado hoje, mas continha arquivos antigos.

Agora vamos verificar o diretório /opt recursivamente.

Observação: Eu removi o diretório do Google antes desta etapa.

Abaixo você pode ver uma sequência completa. Como você pode ver, existem dois diretórios com mais de 30 dias (GVM e TeamViewer). Ambos têm arquivos e subdiretos. Vamos remover a GVM e todo o seu conteúdo executando o mesmo comando usado anteriormente, onde alteramos apenas o caminho para o arquivo (agora GVM).

sudo encontre gvm -Type d -mtime +30 -exec rm -rf \;

Como você pode ver, depois de executar o comando, apenas o TeamViewer o diretório permanece; GVM foi removido com sucesso.

Conclusão

Como você pode ver, remover arquivos antes ou depois de uma data específica é bem simples. Qualquer usuário do Linux, independentemente do nível de conhecimento, deve saber como encontrar e gerenciar arquivos por data. Os comandos explicados neste tutorial são válidos para todas as distribuições Linux. Recomenda -se que você aplique os comandos acima para obter prática (use um ambiente experimental ou de teste). Lembre-se, o símbolo + significa "mais do que" enquanto o símbolo menos (-) significa "mais novo que".

Espero que este artigo explique como excluir arquivos com mais de 30 dias no Linux foi útil. Continue nos seguindo para mais tutoriais profissionais.