find

Para buscar ficheros:

find . -name *lo-que-conozcas-del-nombre*

Para buscar dentro de ficheros

find . -exec grep loquesea {} \;

Para borrar ficheros que tengan más de n ndias (en este caso cinco )

find $APACHE_LOGS/ERRORS -mtime +5 -name “error*gz” -exec rm {} \; -print

En este caso se usa una variable a la que se le indica dónde se guardan los logs de apache, pero (tal y como me dice Rulo en un comentario) para gestionar los logs hay cosas mucho mejores que rm 🙂 . En este caso se guardan en otro sitio (gz + cp) y luego los más viejos se van borrando, pero esto es muy útil en otras situaciones.

This entry was posted in chuletas. Bookmark the permalink.

2 Responses to find

  1. Rulo says:

    Estooo….

    find $APACHE_LOGS/ERRORS -mtime +5 -name “error*gz” -exec rm {} \; -print

    No me la conocía, pero en algunos sistemas donde no hay logrotate para la rotación de los esta guapo.

    man logrotate

  2. Bixen says:

    Ejem, creo que no debería haber puesto lo de apache, porque igual hasta se nota de dónde lo he sacado 🙂

    Esta chuleta a mí me viene bien con productos que generan cuatro ficheritos de log por cada ficherito que pasa por él. Una subida de contenidos con 20.000 ficheros (código, imágenes, pdf) hace que la partición se quede sin inodes, que todo se pare y que se líe una buena. A veces hay más de 50.000 ficheros en el directorio, Solaris no puede ni listarlos (olvídate de grep) y esto es lo único que me ha salvado la papeleta.

Leave a Reply