Netejar /var/spool/mqueue automàticament

Després de l’artí­cle anterior (Netejar /var/spool/mqueue i inodes plens) he pensat que això es podria automatitzar d’alguna manera per tal que no es generi de nou una carpeta amb un volum desmesurat d’arxius.

He afegit una entrada al crontab amb la següent informació:

crontab -e

0 0 * * * /usr/bin/find /var/spool/mqueue -mtime +2 -exec /bin/rm -f {} \;

De manera que cada dia a les 0:00 netejarà els arxius que siguin més antics a dos dies (-mtime +2) de la carpeta /var/spool/mqueue

 

Netejar /var/spool/mqueue i inodes plens

Les últimes setmanes m’he trobat que el servidor local dedicat a servir les dades meteorològiques no podia escriure més arxius.

Si feia un df -k tenia espai per escriure a totes les seves particions, però en canvi a efectes pràctics no era així­. Investigant, vaig descobrir que tenia espai per escriure però no hi havia espai disponible per més inodes 

10:~# df -hi
S. fitxers           Nodes”i   En ús Lliures   %Ús Muntat a
/dev/sda1               743K    743K       1  100% /
tmpfs                   127K       5    127K    1% /lib/init/rw
udev                    126K     499    125K    1% /dev
tmpfs                   127K       1    127K    1% /dev/shm

Buscant, on pot estar perdent-se tot aquest espai en arxius petits descontrolats he trobat que a la carpeta  /var/spool/mqueue  s’acaba emmagatzemant arxius pendents d’enviament de correu electrònic (d’alertes, logs, etc)… i que al intentar eliminar-los amb un rm -r *   acabava amb un missatge d’error:

10:/var/spool/mqueue# rm * -r
-bash: /bin/rm: La llista d’arguments és massa llarga

Total, per fer neteja he seguit una petita guia (http://docs.oracle.com/cd/E23824_01/html/821-1454/mailadmin-138.html) i he fet el següent:

– Aturar el servei de correu electrònic momentàniament

10:/var/spool/mqueue# /etc/init.d/sendmail stop
Stopping Mail Transport Agent (MTA): sendmail.

– Moure la carpeta /var/spool/mqueue a una antiga per eliminar-la i crear una de nova amb els seus permisos corresponents.

10:/var/spool# mv /var/spool/mqueue /var/spool/mqueue-fixme
10:/var/spool# mkdir /var/spool/mqueue
10:/var/spool# chmod 755 /var/spool/mqueue
10:/var/spool# chown root:daemon /var/spool/mqueue

– Un cop fet això, eliminar tot el contingut de la carpeta temporal mqueue-fixme. El procès ha trigat com uns 15 minuts

10:/var/spool# cd mqueue-fixme/
10:/var/spool/mqueue-fixme# ls | xargs rm -f ‘{}’

Però en acabar torno a tenir espai de sobres per què la màquina segueixi mostrant la informació meteorològica

10:/var/spool/mqueue-fixme# df -i
S. fitxers           Nodes”i   En ús Lliures   %Ús Muntat a
/dev/sda1             760368  176986  583382   24% /
tmpfs                 129303       5  129298    1% /lib/init/rw
udev                  128190     499  127691    1% /dev
tmpfs                 129303       1  129302    1% /dev/shm