Linux/Unix Shell Scripting - Limpieza de temporales cleantmp

   
Vista:
Imágen de perfil de barnarasta

Limpieza de temporales cleantmp

Publicado por barnarasta (33 intervenciones) el 09/06/2012 14:26:26
Buenos dias compañeros,
estoy migrando de un UNIX SCO a un Debian 6 estable y me encuentro con el problema de la limpieza de archivos temporales ubicados en :
/tmp
/usr/tmp
/usr/spool/uucppublic

desde SCO existe el binario "cleantmp" que con parametros del #/etc/default/cleantmp
se le indican los directorios a limpiar y los dias a respetar, y metido en un cron se ejecuta
de forma invisible el dia/hora prevista.
1
2
3
4
5
6
7
8
9
10
11
12
# cat cleantmp
#       The information in this file is provided for the exclusive use of
#       the licensees of The Santa Cruz Operation, Inc.  Such users have the
#       right to use, modify, and incorporate this code into other products
#       for purposes authorized by the license agreement provided they include
#       this notice and the associated copyright notice with any such product.
#       The information in this file is provided "AS IS" without warranty.
#
#       default/cleantmp - interval/location for tmp file cleanup: cleantmp(ADM)
FILEAGING=7
TMPDIRS=/tmp /usr/tmp /usr/spool/uucppublic
# 


en Debian, observe que existe un script que arranca SOLO al inicio, limpiando solo
/tmp, ubicado en /etc/default/rcS.

Como lo que busco es que se ejecute desde un cron, ya que la maquina solo se apagara para tareas de mantenimiento y limpieza, pense en crear el siguiente script y meterlo en un cron desde root:
script en /usr/bin/cleantemp con chmod a+x
1
2
3
/usr/bin/find /tmp -atime +7 -exec rm {} \;
/usr/bin/find /usr/tmp -atime +7 -exec rm {} \;
/usr/bin/find /usr/spool/uucppublic -atime +7 -exec rm {} \;

Y su cron correspondiente:
# crontab -e
1
01 00 * * *  /usr/bin/cleantemp


Como lo veis?
es mejorable?
entraña algun riesgo?

Gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Limpieza de temporales cleantmp

Publicado por xve (254 intervenciones) el 09/06/2012 20:08:46
Hola Barnarasta, yo lo veo perfecto, lo único que veo, es que deberías de indicar en el cron el archivo ejecutable, ya que puedes tener problemas, ya que el cron no dispone del path que tiene el usuario. Por ejemplo, podrías ponerlo así:
1
01 00 * * *  /bin/bash /usr/bin/cleantemp

En las instrucciones de eliminación, yo pondria la barra al final de cada carpeta... algo así:
1
/usr/bin/find /tmp/ -atime +7 -exec rm {} \;


De todas maneras, comentarte, que nosotros utilizamos en todos nuestros servidores Debian 6 stable y sid y nunca hemos eliminado la carpeta temporal /tmp/ de manera manual, y hay servidores que llevan mas de 1000 dias en funcionamiento.

Espero que te ayude
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de barnarasta

Limpieza de temporales cleantmp

Publicado por barnarasta (33 intervenciones) el 11/06/2012 00:35:38
Gracias xve por la importante aportacion muy acertada del PATH,

el motivo de desear esas limpiezas es:
en el directorio /usr/spool/uucppublic me entran datos desde "uucp" de otros servers y en algunas ocasiones se acumula algo de basurilla.
el /usr/tmp lo utilizo como recepcion de extracciones de "tar" o descompresion de archivos antes de fundirlos en la aplicacion principal.
Y en el /tmp es donde voy metiendo copias de los fuentes antes de toquetearlos para poder recuperarlos en caso de que algo salga mal, y no siempre recuerdo eliminarlos despues de
comprobar que la nueva fuente trabaja fina. :)

Gracias nuevamente!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar