English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Prólogo
El término "masivo" utilizado en este artículo no se refiere a su gran volumen, sino a la cantidad, por ejemplo, hay millones de archivos pequeños en un directorio.
Recientemente, al optimizar el servidor, se descubrió que el directorio maildrop y el directorio clientmqueue bajo postfix tienen muchos archivos. Es una práctica estúpida entrar en estos directorios y usar el comando ls, y ejecutar rm directamente. * No hay reacción alguna, ni disminución en el número de archivos, lo que significa que el uso directo del comando rm en carpetas con grandes cantidades de archivos no es efectivo.
¿Cuál es el método correcto? Hay dos métodos可选:
Primera opción:
find /path/to/directory -type f -exec rm {} \;
Segunda opción:
ls -1 /path/to/directory | xargs -I{} rm {}
Ambos métodos pueden eliminar archivos en grandes cantidades con éxito y rápidamente. Pero hay un método mejor, por ejemplo, para eliminar el directorio clientmqueue mencionado anteriormente, que contiene todos los correos electrónicos, puede usar el siguiente método:
service sendmail stop cd /var/spool mv clientmqueue clientmqueue-todelete mkdir clientmqueue chown --reference=clientmqueue-todelete clientmqueue chmod --reference=clientmqueue-todelete clientmqueue service sendmail start rm -rf clientmqueue-todelete
El método anterior renombra el directorio y luego utiliza --Utilice el parámetro de referencia para reconstruir el directorio y luego eliminar el directorio renombrado. La eliminación directa del directorio es muy rápida. También puede mantener una copia de respaldo sin eliminar. Más seguro.
Resumen
Este es el contenido completo de este artículo, espero que el contenido de este artículo pueda ayudar a todos en su aprendizaje o trabajo. Si tienen alguna pregunta, pueden dejar un mensaje para intercambiar. Gracias por el apoyo a la tutorial de gritos.