(modifié le 17 avril 2018 à 10:49)

J'utilise un RamDisk sur mon Raspberry Pi afin de ne pas flinguer la carte microSD rapidement à cause de trop d'écritures. Car c'est vrai que le petit Domoticz il cause beaucoup.

Problème : cette partition montée en RAM a une petite taille (10 mo chez moi), et lorsqu'elle est pleine les services qui écrivent dessus ont tendance à ne pas apprécier.

J'ai donc développé un script qui permet de redémarrer le Raspberry avant que la partition ne soit pleine.

Le script shell

Le script est disponible sur mon dépôt github : CheckRamDiskFull.sh

Il vous suffit d'éditer les variables :

  • MOUNT : point de montage à vérifier, celui du RamDisk dans mon cas
  • MAXPERCENT : seuil au dessus duquel on déclenche un reboot du Raspberry Pi

Le script vérifie donc si la partition dépasse le seuil ou pas, et déclenche un reboot. Le reboot a pour effet de vider la RAM et donc toutes les données stockées dans cette partition seront perdues, ça tombe bien c'est ce que je cherche à faire.

Si au contraire vous souhaitez faire une copie des données de la partition avant le reboot il existe des scripts sur le web : 1, 2, 3.

Notez que le script appel un second script shell pour envoyer une notification email : RamDiskEmailNotif.sh :

Pensez aussi à le récupérer et l'éditer (exemple ici avec un seuil à 70%)

J'ai fait ce choix car je ne voulais pas installer de client mail (mailx ou autre) pour ne pas alourdir mon Raspberry Pi. J'avais initialement développé ce script pour mon routeur Tomato.

Lancement récurrent

Pour exécuter ce script quotidiennement c'est le crontab qui s'en charge à 5h30 :

30 5 * * * /root/CheckRamDiskFull.sh >/dev/null 2>&1

Conclusion

Grâce à ce script le Raspberry s'autogère et je n'ai plus à m'en occuper.

J'ai beaucoup moins de soucis depuis que c'est implémenté, notamment sur la partie dongle 3G qui envoie des SMS, car j'ai redirigé le log de gammu en ramdisk aussi et il n'aimait pas faire face à une partition pleine.

 

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter