Ga naar de inhoud
Home » Vol filesysteem detecteren op een Pi

Vol filesysteem detecteren op een Pi

Raspberry Pi Blog Header

Zorg er eerst voor dat je Pi mail kan verzenden. Zie https://encyclopedia.famtenhoopen.nl/mail-versturen-vanaf-de-pi-2/

Het scriptje dat je maken moet:

# als boven MAXINODES % komt verzend dan mail want running out of inodes
MAXINODES=70
# als boven MAX % komt verzend dan mail want disk full
MAX=80
# waar moet de mail naar toe
SENDTO=arjan.ten.hoopen@gmail.com
MAILFILE=/tmp/mailfilecheckdiskspace
SENDMAIL=false

for p in `df | grep ^/dev/ | sed -e 's/[ ][ ]*/ /g' -e 's/%//g'|cut -f5 -d ' '`
do
  if [ ${p} -ge ${MAX} ] ; then
    SENDMAIL=true
  fi
done

for p in `df -i | grep '%' | grep ^/dev/ | sed -e 's/[ ][ ]*/ /g' -e 's/%//g'|cut -f5 -d ' '`
do
  if [ ${p} -ge ${MAXINODES} ] ; then
    SENDMAIL=true
  fi
done


if ${SENDMAIL} ; then
{
  echo Een of meer filesystemen op `hostname` is voor ${MAX} procent of meer vol > ${MAILFILE}
  echo of gebruik van inodes is boven ${MAXINODES} >> ${MAILFILE}
  echo    >> ${MAILFILE}
  echo df >> ${MAILFILE}
  df      >> ${MAILFILE}
  echo    >> ${MAILFILE}
  echo df -i >> ${MAILFILE}
  df -i      >> ${MAILFILE}
  echo       >> ${MAILFILE}
  echo Succes ermee >> ${MAILFILE}
  echo >>${MAILFILE}
  cat ${MAILFILE} | mail -s "`hostname` heeft problemen met diskspace of inodes of beide" ${SENDTO}
  rm -f ${MAILFILE}
}
fi

exit 0

Sla het op in /home/pi/bin/checkfilesystemfull en maak het executable:

chmod +x /home/pi/bin/checkfilesystemfull

In de crontab van de gebruiker pi zet je via crontab -e

1,11,21,31,41,51 * * * * /home/pi/bin/checkfilesystemfull

Zoadat elke 10 minuten wordt gekeken of er een vol filesysteem is