Cómo eliminar archivos mayores de 30 días en Linux

Cómo eliminar archivos mayores de 30 días en Linux

Limpiar regularmente los archivos no utilizados antiguos de su servidor es la mejor práctica. Por ejemplo, si estamos ejecutando una copia de seguridad diaria/por hora de archivos o bases de datos en el servidor, entonces se creará mucha basura en el servidor. Así que limpio regularmente. Para hacerlo, puede encontrar archivos más antiguos en el directorio de copia de seguridad y limpiarlos.

Este artículo lo describe a cómo encontrar y eliminar archivos mayores de 30 días. Aquí 30 días más antiguo significa que la última fecha de modificación es antes de los 30 días.

1. Eliminar archivos mayores de 30 días

Usando el comando Find, puede buscar y eliminar todos los archivos que se han modificado más de x días. Además, si es necesario, puede eliminarlos con un solo comando.

En primer lugar, enumere todos los archivos mayores de 30 días en el directorio /OPT /Backup.

encontrar /opt /backup -type f -mtime +30  

Verifique la lista de archivos y asegúrese de que no se enumere ningún archivo útil en el comando anterior. Una vez confirmado, es bueno ir para eliminar esos archivos con el siguiente comando.

encontrar /opt /backup -type f -mtime +30 -delete  

2. Eliminar archivos con extensión específica

También puede especificar más filtros para localizar comandos en lugar de eliminar todos los archivos. Por ejemplo, solo puede eliminar archivos con el ".Log ”extensión y modificada antes de los 30 días.

Para el lado seguro, primero, haga un archivo de ejecución seca y lista para que coincidan con los criterios.

buscar /var /log -name "*.log "-Type F -Mtime +30  

Una vez que se verifica la lista, elimine esos archivos ejecutando el siguiente comando:

buscar /var /log -name "*.log "-Type F -Mtime +30 -delete  

El comando anterior eliminará solo archivos con un .registro extensión y con la última fecha de modificación anterior a 30 días.

3. Eliminar el directorio antiguo recursivamente

El -borrar La opción puede fallar si el directorio no está vacío. En ese caso, usaremos el Linux comando rm con encontrar para lograr la eliminación.

Buscando todos los directorios bajo /var/log modificado antes de 90 días usando el comando a continuación.

find /var /log -type d -mtime +90  

Aquí podemos ejecutar el comando rm usando -ejecución Opción de línea de comando. Encontrar la salida del comando se enviará a RM comando como entrada.

find /var /log -type d -mtime +30 -exec rm -rf  \;  
ADVERTENCIA: Antes de eliminar el directorio, asegúrese de que no se elimine el directorio de usuario. A veces, las fechas de modificación del directorio de los padres pueden ser más antiguas que los directorios infantiles. En ese caso, el eliminación recursiva también puede eliminar el directorio infantil.

Conclusión

Ha aprendido cómo encontrar y eliminar archivos en la línea de comandos de Linux que se han modificado más de un número específico de días hace. Que lo ayudará a limpiar su sistema de archivos no deseados.