Skip to content
56K.ES

56K.ES

Sobre software libre y otras movidas

Menu
Menu

Find al rescate cuando /bin/rm: Argument list too long

Posted on 10/01/202210/01/2022 by fanta

Algunas veces ocurre que te empiezas a quedar sin inodes (df -i). Tienes espacio en esa partición pero algo ha disparado posiblemente el número de archivos existentes.

Es muy típico que se llene este directorio:  /var/spool/postfix/maildrop  con miles de pequeños archivos (correos).

Posiblemente puedas paliar esto añadiendo a tu crontab lo siguiente:

MAILTO=""

Pero vas a querer poder borrar los archivos y es aquí cuando puedes tener el problema:

bash: /bin/rm: Argument list too long

Posiblemente estarás superando el límite de argumentos posibles:

$ getconf ARG_MAX
2621440

Posiblemente estarás intentando borrar usando un wildcard como este: rm -rf /var/spool/postfix/maildrop/*

Y es entonces cuando puedes tirar de find:

$ find /var/spool/postfix/maildrop -type f -delete

Con find podrás borrar los archivos. Lo mismo se te dispara un poco el consumo de ram y de swap. No importa puesto que tienes que borrar si o si esos archivos.

Y ese es uno de los trucos que se suelen usar cuando no puedes borrar tantos archivos.

 

El otro truco es borrar el directorio y generarlo de nuevo. No obstante yo no recomendaría eso si tienes sockets escribiendo/leyendo allí.

Saludos cordiales.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Generic selectors
Exact matches only
Search in title
Search in content
©2022 56K.ES | Built using WordPress and Responsive Blogily theme by Superb