Exact. Mais bon cela doit fonctionner me si ce n'est pas très propre.
C'est marrant quand on cherche ce genre de chose on trouve des dizaines de sites qui proposent des scripts. Mais en y rgardant de plus près tous ces scripts se ressemblent étrangement et semble tous dériver d'un ou deux modèles 😉
Bon j'ai quand même essayé de faire plus simple et plus propre mais comme je suis nul en script awk, il y a a sûrement mieux :
#!/bin/bash
alert_threshold=90
disks_usage=($(df | awk '{ { if ($i ~ /^\/dev/) printf ("%s,%i\n",$6,$5); } }'))
for i in "${disks_usage[@]}"
do
usage_and_mount_point=(${i//,/ })
if [ ${usage_and_mount_point[1]} -ge $alert_threshold ]; then
echo "${usage_and_mount_point[1]}"% used on "${usage_and_mount_point[0]}"
fi
done
À appeler dans avec un tâche cron par exemple.