jeudi 20 juillet 2017

Réduire les accès à la carte SD et donc la préserver

Les cartes SD, quelques soit leurs performances ou leurs technologies, ne sont pas éternelles.
Il est possible de les préserver en limitant les accès en écriture au maximum.

Une première chose à faire pour cela est de passer les logs en RAM :


sudo nano /etc/fstab

# les fichiers de log et tempo passent en RAM
tmpfs /tmp tmpfs defaults,noatime,mode=1777,size=10m 0 0
tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777,size=10m 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=0755,size=10m 0 0

Ensuite il faut vérifier et éventuellement modifier les chemins utilisés par les applications pour leurs log:

Samba : /etc/samba/smb.conf
mpd : /etc/mpd.conf
nginx : /etc/nginx/nginx.conf et les autres fichiers par exemple /etc/nginx/sites_enabled/default etc...

Re-créer les dossiers dans var à chaque redémarrage


Créer un script avec nano appelé create_var_folders

cd ~
nano create_var_folders.sh

Ajouter ceci dedans :

#!/bin/bash
# Script to create required directories in tempfs /var (that are not otherwise created)
# Thanks to http://blog.philippklaus.de/2011/02/ssd-optimizations-on-linux/ for the list below :-)

for dir in news ntpstats samba cron anacron nginx dlna; do
 if [ ! -d /var/log/$dir ] ; then
 mkdir /var/log/$dir
fi
done
for dir in cups-pdf anacron; do
if [ ! -d /var/spool/$dir ] ; then
mkdir /var/spool/$dir
fi
done 



Modifier éventuellement la ligne "for dir in .... ; do" selon vos besoin et ajouter des lignes pour relancer certains services comme anacron:

service anacron restart


Rendre le script exécutable :

sudo chmod 755 create_var_folders.sh

Déplacer le script dans un dossier fait pour /usr/local/bin par exemple :

sudo mv create_var_folders.sh /usr/local/bin

Modifier rc.local comme suit:

sudo nano /etc/rc.local

Ajouter la ligne suivante juste avant la ligne "exit 0" :

/usr/local/bin/create_var_folders.sh

Redémarrer et vérifier que le dossier /var/log et /var/spool contiennent bien les dossiers du script

ls -carl /var/log

ls -carl /var/spool

Aucun commentaire:

Enregistrer un commentaire