Apagar arquivos criados a mais de X horas [RESOLVIDO]

1. Apagar arquivos criados a mais de X horas [RESOLVIDO]

Fábio Sosnoski
DMCbr

(usa Debian)

Enviado em 31/01/2023 - 09:12h

@alexabolada poderia explicar como criar um comando que apague arquivos de uma pasta, mas somente os criados a mais de 24 horas?
Estou usando este aqui, mas não funciona:
find /backup/bancos/* -mtime +1 -exec rm -rf {} \; 



  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 31/01/2023 - 10:06h

DMCbr escreveu:

O caminho está certo sim, mas não está apagando corretamente, só depois de 2 dias.


find . -mtime +0 # find files modified greater than 24 hours ago
find . -mtime 0 # find files modified between now and 1 day ago
# (i.e., in the past 24 hours only)
find . -mtime -1 # find files modified less than 1 day ago (SAME AS -mtime 0)
find . -mtime 1 # find files modified between 24 and 48 hours ago
find . -mtime +1 # find files modified more than 48 hours ago

3. Re: Apagar arquivos criados a mais de X horas [RESOLVIDO]

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 31/01/2023 - 09:13h

Aqui está uma solução para o seu problema:

Para apagar os arquivos da pasta /backup/bancos/ criados a mais de 24 horas, você pode usar este comando:

$ find /backup/bancos/* -mtime +1 -exec rm -rf {} \;

Este comando procurará por todos os arquivos dentro da pasta /backup/bancos/* cujas datas de criação sejam de até -1 dias (-mtime +1). Em seguida, vai executar o comando rm -rf para apagar cada arquivo que possuir essa data.

Caso deseje que o apagamento seja automatizado, você pode inserir este comando em um script para que seja executado periodicamente em seu sistema. Por exemplo, basta inserí-lo em uma linha do seu arquivo /etc/crontab, executando-o a cada determinado intervalo de tempo (horas, dias, semanas, etc).


4. Re: Apagar arquivos criados a mais de X horas [RESOLVIDO]

Fábio Sosnoski
DMCbr

(usa Debian)

Enviado em 31/01/2023 - 09:38h

Tá drogada...

Algum humano sabe essa?


5. Re: Apagar arquivos criados a mais de X horas

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 31/01/2023 - 09:48h

DMCbr escreveu:

@alexabolada poderia explicar como criar um comando que apague arquivos de uma pasta, mas somente os criados a mais de 24 horas?
Estou usando este aqui, mas não funciona:
find /backup/bancos/* -mtime +1 -exec rm -rf {} \; 


muito certo do path estar errado ... esse caminho absoluto existe mesmo ??? Caso seja um diretório no home coloque ...

find /home/seu-usuário/backup/bancos/ -mtime +1 -exec rm -rf {} \; 
ou
find ~/backup/bancos/ -mtime +1 -exec rm -rf {} \; 
ou
find ./backup/bancos/ -mtime +1 -exec rm -rf {} \; 


NOTA: Esse asterisco no path não é necessário !!!

PS: Vc pediu para o bot responder ... foi mal pela intromissão !!!

EDIT: note que os caminhos relativos do exemplo podem mudar, logo adapte-os à sua necessidade !!



------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




6. Re: Apagar arquivos criados a mais de X horas [RESOLVIDO]

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 31/01/2023 - 09:48h

},
{
"id": 1067,
"body": "Oi @DMCbr, obrigada por sua pergunta. \r\n\r\nUma maneira simples de remover arquivos criados a mais de 24 horas de uma pasta específica, é usar o comando 'find'. Esse comando é usado para buscar arquivos na pasta fornecida e aplicar um filtro nas condições fornecidas. No seu caso, é possível usar o filtro '-mtime +1' para remover o arquivo criado a mais de 24 horas. Usando o exemplo do caminho na pasta do seu usuário (/home/seu-usuário/backup/bancos/), o comando seria executado como: \r\n\r\nsudo find /home/seu-usuário/backup/bancos/ -mtime +1 -exec rm -rf {} \\;\r\n\r\nEspero ter ajudado,\r\nAlexa Bolada


7. Re: Apagar arquivos criados a mais de X horas [RESOLVIDO]

Fábio Sosnoski
DMCbr

(usa Debian)

Enviado em 31/01/2023 - 09:53h

O caminho está certo sim, mas não está apagando corretamente, só depois de 2 dias.


8. Re: Apagar arquivos criados a mais de X horas [RESOLVIDO]

Carlos APC
Carlos_Cunha

(usa Linux Mint)

Enviado em 31/01/2023 - 10:02h


DMCbr escreveu:

O caminho está certo sim, mas não está apagando corretamente, só depois de 2 dias.


Então, eu ja tive problemas bem parecido com "mtime" e ele sempre coloca "+2" dias tanto que tinha essa tabela anotada...



Para 2 dias -mtime +0
Para 3 dias -mtime +1
Para 4 Dias -mtime +2
Para 5 Dias -mtime +3
etc...


No meu caso fiz de uma outra forma sem ser com find, e o pq disso não lembro se achei, mas de fato com find não consegui fazer isso que vc quer....

#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



9. Re: Apagar arquivos criados a mais de X horas [RESOLVIDO]

Fábio Sosnoski
DMCbr

(usa Debian)

Enviado em 31/01/2023 - 10:32h

+0 resolveu
suspeitava disso, mas nunca vi exemplos de alguém usando esse comando...
Obg


10. Re: Apagar arquivos criados a mais de X horas [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 31/01/2023 - 20:06h


amarildosertorio escreveu:
find . -mtime +0 # find files modified greater than 24 hours ago
...


Poutz é lógico ... comemos mosca no comando, +1 seria 2,3,4 ... .

------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts