Se seu script precisa tomar alguma decisão dependendo do espaço livre em disco, você poderá fazer algo como mostrado abaixo.
#!/bin/bash espacoMinimo="500" # MB espacoLivre=$(df / -BM --output=avail | sed -n 2p | tr -dc '0-9') mensagem="Espaço livre: ${espacoLivre} MB." if [ $espacoLivre -lt $espacoMinimo ]; then echo "O espaço mínimo requerido é ${espacoMinimo}MB e só tem ${espacoLivre}MB." else echo "Espaço livre atual: ${espacoLivre}MB." fi echo "Verificação concluída!"
A principal parte desse script é aquela que obtém o espaço livre, através do comando df do Linux. O parâmetro -BM informa ao df para retornar o tamanho em MB e o parâmetro --output=avail pede para retornar somente o espaço livre. O resultado disso será algo como segue:
Avail 340MB
Esse resultado é então passado para o comando sed que, com os parâmetros -n 2p retorna somente a segunda linha dos dados de entrada, ou seja, somente a linha que tem o espaço livre, como abaixo:
340MB
Em seguida, esse resultado é repassado para o comando tr, que, com os parâmetros -dc '0-9', retorna somente os dígitos dos dados de entrada, tal como:
340
Esse resultado é então atribuído à variável espacoLivre e o script continua com as demais verificações.
O conteúdo desta página pode ajudar alguém? Compartilhe!