msoliver
(usa Debian)
Enviado em 21/09/2021 - 17:56h
adrianokahn escreveu:
Olá.
Qual maneira de criar um script em que um diretório que receba arquivos de backup, remova os mais antigos.
Só que os mais antigos não seriam contados por X dias e sim por X arquivos.
Hoje utilizo um código que remove os arquivos após o 5º dia, mantendo os últimos 5, mas o que quero é manter os últimos 5 arquivos, independente se já tem 1 ou 10 dias que o backup não é feito.
Obrigado e sucesso.
Boa tarde, segue sugestão:
ls -1t => lista por data, do MAIS NOVO para o MAIS ANTIGO.
Para
MANTER os 5 mais
RECENTES , faça:
awk 'NR>5 {system("rm " $0)}' <<< $(ls -1t)
De uma forma mais "didática":
n=0;
for arq in $(ls -1t);do
let n++;
echo -n "$n $arq";
(($n<=5)) && echo " => Preservar" || { echo " => Remover"; rm ${arq}; }
sleep 0.125;
done
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando:
lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p' ,
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:
Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.
______________________________________________________________________