Verificando se arquivo está a três meses sem ser editado [RESOLVIDO]

1. Verificando se arquivo está a três meses sem ser editado [RESOLVIDO]

Naldson
EvilDead

(usa Ubuntu)

Enviado em 27/09/2016 - 14:12h

Estou tentando fazer um script que verifique se um arquivo está a três meses sem ser modificado. Atualmente ele está da seguinte maneira:

diretorio_backups="/opt/diretorio/*"
mes_atual=(date +%m)
mes_para_arquivo_ser_removido=$(($mes_atual - 3))

for arq in ls $diretorio_backups; do
data_arquivo=(date -r arq +%m)
if [$data_arquivo -lt $mes_atual]
then
echo "$arq arquivo velho"
fi
done


A minha dúvida é: como posso atribuir a data em que o arquivo foi modificado pela ultima vez em uma variável e depois comparar com um determinado mês?


  


2. MELHOR RESPOSTA

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 27/09/2016 - 14:20h

Vc nem precisa fazer isso tudo. O find pode fazer isso pra vc sem trabalho. Ex.:


find /pasta -type f -mtime +2


Ele vai t mostrar somente aqueles arquivos q não foram modificados a partir do 3º dia em diante. Se vc quiser praticar alguma ação nesses arquivos (ex.: apagar), vc pode fazer assim:


find /pasta -type f -mtime +2 -exec rm '{}'\;


A partir desses exemplos, vc pode adequá-los no seu script.
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh

3. Re: Verificando se arquivo está a três meses sem ser editado [RESOLVIDO]

Naldson
EvilDead

(usa Ubuntu)

Enviado em 28/09/2016 - 14:12h

renato_pacheco escreveu:

Vc nem precisa fazer isso tudo. O find pode fazer isso pra vc sem trabalho. Ex.:


find /pasta -type f -mtime +2


Ele vai t mostrar somente aqueles arquivos q não foram modificados a partir do 3º dia em diante. Se vc quiser praticar alguma ação nesses arquivos (ex.: apagar), vc pode fazer assim:


find /pasta -type f -mtime +2 -exec rm '{}'\;


A partir desses exemplos, vc pode adequá-los no seu script.
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


Muito Obrigado!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts