Consulta sobre Scipt de limpieza automática

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
mantenido
Forista Nuevo
Forista Nuevo
Mensajes: 2
Registrado: Lun Ene 04, 2016 7:28 pm

Consulta sobre Scipt de limpieza automática

Mensaje por mantenido » Lun Ene 04, 2016 7:35 pm

Antes que nada buenas tardes a todos. Soy nuevo en el foro y quiero consultarles acerca de una duda que tengo.

Dentro de un servidor remoto, limpio el contenido del fichero /tmp ejecutando: find . -name "*.tmp" -exec rm -f {} \;
Todo esto parado dentro de tmp. Ahora bien, lo que me interesa es crear un script que esté activa en el cron para que ejecute esta línea siempre que /tmp supere el 50% de la capacidad disponible. Estoy medianamente rumbeado pero no termino de encontrarle la vuelta. Lo que estoy intentando diagramar es, utilizando el comando awk, lo siguiente: df -g | grep '/tmp' | awk '{print $6}'
De esta forma logro listar en pantalla la línea 6 (el porcentaje utilizado) del fichero tmp.

Ahora bien, lo que me falta y me está costando rumbear es como darle la orden de que si el resultado de dicha búsqueda es 50% o más, ejecute la línea que mencioné al principio del posteo.


Gracias a todos
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1805
Registrado: Dom Oct 10, 2004 7:00 am

Re: Consulta sobre Scipt de limpieza automática

Mensaje por neurus » Mar Ene 05, 2016 2:41 pm

Deberías quitarle el porcentaje, para quedarte sólo con el número. tr sirve para eso. También sed, grep y alguna herramienta más. Digamos que optas por tr (lo más práctico en este caso).

Pasas el número a una variable, y en un condicional comparas el valor de la variable con el número de referencia (en este caso, 50). Si es igual o mayor (-ge) entonces... lo que tengas definido como acción. El condicional admite la estructura "if .. then ... else", en caso de necesitarlo. Se usa como en cualquier lenguaje.

Código: Seleccionar todo

PORC=df -g | grep '/tmp' | awk '{print $6}'|tr '%' ' '
if [ $PORC -ge 50 ]; then { lo que quieras hacer }
fi

mantenido
Forista Nuevo
Forista Nuevo
Mensajes: 2
Registrado: Lun Ene 04, 2016 7:28 pm

Re: Consulta sobre Scipt de limpieza automática

Mensaje por mantenido » Jue Ene 07, 2016 10:09 pm

Excelente respuesta. Me fue de mucha utilidad. Gracias
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje