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.
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...
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
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