El equipo de SAP me preguntaba si había alguna tarea en cron que hiciese limpieza de los archivos temporales de SAP. Resulta, que cada día, a las 3:00 se caía la instancia de SAP debido a que se eliminaba un fichero de bloqueo:
<style> #noScript .hideScript { display:none } </style>
shared memory lock ‘/tmp/.trex_<sid>_<instance>_lock’was deleted
es el error del log y en el tmp no hay ningún fichero con ese nombre (.trex_TRX_00_lock )
Investigando un poco, RedHat configura por defecto un job en cron que hace limpieza de ficheros temporales. En concreto es este:
[root@lctntrx0 cron.daily]# pwd
/etc/cron.daily
[root@lctntrx0 cron.daily]# cat tmpwatch
#! /bin/sh
flags=-umc
/usr/sbin/tmpwatch «$flags» -x /tmp/.X11-unix -x /tmp/.XIM-unix \
-x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
-X ‘/tmp/hsperfdata_*’ 10d /tmp
/usr/sbin/tmpwatch «$flags» 30d /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
if [ -d «$d» ]; then
/usr/sbin/tmpwatch «$flags» -f 30d «$d»
fi
done
[root@lctntrx0 cron.daily]#
Tal y como podemos comprobar en el man del tmpwatch, este ejecutable se encarga de hacer limpieza de ficheros temporales que no han sido accedidos desde hace un periodo determinado de tiempo.
Moraleja: Los ficheros de aplicación nunca deben utilizar el filesystem /tmp.
Mi pasión por la tecnología me lleva constantemente a explorar las últimas tendencias y aplicaciones, buscando siempre formas de implementar soluciones innovadoras que mejoren la eficiencia. En puerto53.com comparto contenido valioso para ayudar a otros profesionales y entusiastas de la informática a navegar y dominar el complejo mundo de la tecnología. Mi especialidad en Linux RedHat.
Más sobre mí en el este enlace,