Opa!
On 2012-06-13 Marcus Vinicius. wrote:
>
> Eu quero que ele veja no diretório /backup se existem 45 arquivos (no
> caso, um pra cada dia) e que eles não sejam zerados pra, aí sim,
> deletar o mais antigo de todos.
O comando ls tem a opção "t" pra ordenar os arquivos pela data/hora da
última modificação. Podes combinar isso com tail pra facilmente pegar o
nome do arquivo mais antigo. Algo como o abaixo:
#!/bin/sh
cd /backup
MAISVELHO=$(ls -t | tail -1)
OCUPADO=$(df -k . | awk '/^\// { print $3 }')
if [ $OCUPADO -gt 100000000 ]; then
(ls -l $MAISVELHO; rm -fv $MAISVELHO) \
| mail -s "Limpeza do backup" root
fi
Não testei isso, mas deve funcionar, e mandar email pro root avisando o
que apagou. :) Bota no cron pra rodar diariamente e boa sorte!
Na verdade poderia ser um while, apagando os mais velhos até que o
espaço liberado seja suficiente. Mas fica o exemplo pra tu começar. :)
Fábio Olivé
--
[[ Fábio Olivé Leite, olive, FabioOlive ]]
TcheLinux.org, OeSC-Livre.org, Chapecó, SC
ex sed lex awk yacc, e pluribus unix, amem