Você postou df -h
output, que é legível por humanos, mas não é bom para scripts.
Você provavelmente desejará prestar mais atenção à coluna 4 (avail) do que à porcentagem na coluna 5.
Parece que seu script sabe sobre arquivos de log antigos que são "seguros" para remover. Para uma determinada operação de remoção, esse conjunto de arquivos estará exatamente em um sistema de arquivos. Não faz sentido analisar em todo o sistema df
output quando você realmente se importa com isso:
cd /var/log
df -k . | awk '{print $4}'
Isso fornece um relatório numérico em KBytes (em vez de sufixos de texto legível por humanos) exatamente na quantidade que você gosta, espaço livre para o sistema de arquivos do diretório atual. Você pode escrever um loop while ao redor disso, talvez podando um único arquivo, o arquivo mais antigo, cada vez que passar pelo loop. Inclua uma verificação de integridade antes de iniciar o loop: assegure-se de que du -k
diga que você pode liberar espaço "suficiente", se necessário. Não é divertido excluir dir1/*
apenas para descobrir que dir2/giant_file
era aquele em que você deveria se concentrar.