2 votes

Exécuter le script lorsque l'espace disque est faible

Y a-t-il un moyen intelligent d'exécuter un script lorsque l'espace disque est faible? Je sais que je peux vérifier manuellement l'espace disque, mais il semble courant de vouloir supprimer des fichiers journaux lorsque l'espace disque est faible (par exemple) ce que je veux faire.

2voto

Philipp Ludwig Points 535

Vous pouvez utiliser df et un script shell d'une ligne.

Tout d'abord, nous devons dire à df d'imprimer uniquement le pourcentage utilisé:

df / --output='pcent'

Combinez cela avec grep pour obtenir uniquement le nombre:

df / --output='pcent' | grep -o "[0-9]*"    

Cela donnera par exemple "55" si le disque a été rempli à 55%.

Maintenant dans le crontab, nous pouvons l'utiliser de cette manière:

@daily sh -c "if [ $(df / --output='pcent' | grep -o "[0-9]*") -gt 90 ]; then docker system prune -af; fi

Dans cet exemple, nous exécutons docker system prune -af si le disque a été rempli à plus de 90%. Ajustez selon vos besoins.

1voto

jkt123 Points 3282

Si vous n'êtes pas spécifiquement préoccupé par vos fichiers journaux, vous pourriez mettre un script pour vérifier l'espace disque dans le cron.

Effacer automatiquement les anciens journaux est ce pour quoi logrotate est fait.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X