Skip to content
56K

56K

Slow IT just 4 fun

Menu
Menu

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

Posted on 10/01/202206/02/2023 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.

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
🍅 STREAMING
🍊 LINUX
🥝 GAMES
🥥 THREADS
🧅 SECURITY
🥑 RETRO
🍆 HARDWARE
🍇 MISC
📝 NOTES
©2023 56K | Built using WordPress and Responsive Blogily theme by Superb