Argument list too long - Utilizando rm

En uno de los portales en el trabjo, se crea automáticamente una sesión con caducidad larga, muy larga (sobre 10 años) para permitir al usuario mantener sus datos en un formulario que contiene demasiada información para utilizar cookies. Aunque se podria solucionar con base de datos, en su dia se optó por este método, y de vez en cuando se nota lentitud en el servidor debido al ingente número de sesiones creadas en /var/lib/php/sessions , ya que este portal en concreto recibe bastantes visitas.

El caso es que intentando eliminarlas, hoy me he encontrado con un problema:

root@local /var/lib/php/sessions # rm sess_*
/bin/rm: Argument list too long.

Toma del frasco.. asi, sin anestesia. Si probaba a borrar en partes si funcionaba en ocasiones, pero en otras no… Por lo que he leido por ahi parece ser una limitación propia del kernel, no podemos hacer estas operaciones sobre más de 1024 ficheros a la vez, y en mi caso eran sobre 150.000 sesiones, asi que una solución para salir del paso es hacer un find y pasar los resultados como argumento uno a uno (la velocidad es más que aceptable):

find . -name ’sess_*’ -print0 | xargs -0 rm

Y carpeta vacia…

Términos relacionados: , , , , , , , ,

2 comentarios a esta entrada

  • Félix dijo
    el # Martes, 22 de Abril del 2008 a las 11:55

    1

    Y por qué usar el pipe y no el exec de find? :

    find . -name “sess_*” -exec rm ‘{}’ \;

    Un saludo.

  • Marcos B.L. dijo
    el # Martes, 22 de Abril del 2008 a las 16:41

    2

    La verdad desnuda: Ni se me ocurrió :D Gracias !

Deja tu opinión

Sólo se permiten las etiquetas XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Post anteriores/siguientes:

Post (quizás) relacionados:

  • Prohibido Prohibir

  • Prohibido enlazar noticias utilizando el titular de la noticia como anchor text... algo tan estúpido a duras penas puede ser creible....
  • Paginando resultados en la consola de MySQL

  • Muchas veces, utilizando la consola de MySQL, nos encontramos con el problema de que el conjunto de resultados que obtenemos en las pruebas es muy...
  • Matt Cutts, Google, y los directorios de enlaces

  • Aunque el tema de los enlaces "de pago" ya habia quedado bastante claro en un post anterior, Matt Cutts aclara en una actualización posterior la...
  • Comodidad para el cliente de comandos de MySQL

  • Si conectamos a menudo con nuestro servidor de MySQL utilizando la utilidad del comando "mysql", nos veremos compelidos a repetir, una y otra vez, los...
  • Test rápidos de MySQL - Test 9

  • Test 9 Este test es cortesía de Diego Madina. Utilizando una distribución de MySQL 5.0 bastante reciente, vemos que… [code] mysql> SELECT 1.1E0, 2.2E0, 3.3E0; +-------+-------+-------+ | 1.1E0 | 2.2E0 |...