Script para verificar o uso do sistema de arquivos e limpar o espaço [fechado]

1

Eu sou muito novo em scripts shell Eu tenho poucos sistemas unix de diferentes distros (RHEL, CENTOS, FEDORA, UBUNTU) Existe alguma maneira de ter um script para verificar o exemplo de uso do espaço em disco do sistema de arquivos abaixo

Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root  6.7G  2.3G  4.4G  34% /
devtmpfs                 361M     0  361M   0% /dev
tmpfs                    371M     0  371M   0% /dev/shm
tmpfs                    371M  5.1M  366M   2% /run
tmpfs                    371M     0  371M   0% /sys/fs/cgroup
/dev/sda1                497M  124M  374M  25% /boot
tmpfs                     75M     0   75M   0% /run/user/0

e para verificar se algum disco possui espaço em disco superior a 90% e limpa o espaço.

    
por Rebbeca 05.09.2017 / 02:56

1 resposta

1

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.

    
por 05.09.2017 / 03:24