GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo eliminar archivos de más de N días usando tmpreaper en Linux

tmpreaper es una herramienta para eliminar archivos a los que no se accede durante un cierto período de tiempo.

En las distribuciones de escritorio de Linux, esto es bueno para limpiar directorios como "~/Downloads", donde los archivos se acumulan durante un período de tiempo.

En distribuciones de servidor Linux, esto es bueno para limpiar archivos de registro antiguos o archivos de copia de seguridad que ya no son necesarios.

tmpreaper busca y elimina recursivamente archivos y directorios a los que no se accede durante cierto período de tiempo.

ADVERTENCIA: Antes de instalar tmpreaper y comenzar a jugar con él, asegúrese de comprender las implicaciones de ejecutar tmpreaper, ya que eliminará todos los archivos de su sistema que coincidan con los criterios dados. NO ejecute tmpreaper en / (directorio raíz), lo que podría eliminar archivos críticos necesarios para mantener su sistema en funcionamiento. No hay protección integrada en el programa tmpreaper para evitar que se ejecute en el directorio raíz, ya que eso dificultaría el uso de tmpreaper en un entorno chroot.

1. Instalar tmpreaper

En sistemas basados ​​en Debian como Ubuntu, use apt-get:

$ sudo apt-get install tmpreaper

En sistemas basados ​​en RPM como CentOS y RedHat, use yum:

$ sudo yum -y install tmpreaper

Sintaxis del comando Tmpreaper:

$ tmpreaper [options]  <time_spec> <dirs>

2. Eliminar archivos que tienen N días de antigüedad

Para eliminar archivos que tienen 5 días de antigüedad, utilice "5d" como especificación de tiempo.

Por ejemplo, el siguiente comando eliminará los archivos de la carpeta ~/Descargas a los que no se accedió en los últimos 5 días.

$ tmpreaper 5d ~/Downloads

3. Eliminar archivos que no se modifican durante N días

De forma predeterminada, tmpreaper eliminará los archivos según el "Tiempo de acceso". Puede usar la opción "-m" para decirle a tmpreaper que elimine archivos según el "tiempo de modificación".

El siguiente comando eliminará los archivos que no se modifican durante 5 días en la carpeta Descargas.

$ tmpreaper -m 5d ~/Downloads

También puede usar los siguientes caracteres para el parámetro time_spec

  • d – por días
  • h – por horas
  • m – por minutos
  • s – por segundos

4. Eliminar enlaces simbólicos usando -s

Use la opción -s para eliminar también enlaces simbólicos, no solo archivos y directorios.

Además de limpiar los archivos y directorios, el siguiente comando también limpiará los enlaces simbólicos que coincidan con las especificaciones de tiempo dadas.

$ tmpreaper -s 5h ~/Downloads

5. Elimina todos los tipos de archivo usando la opción -a

Use la opción -a para eliminar todo tipo de archivos, no solo archivos regulares, directorios y enlaces simbólicos.

$ tmpreaper -a 5m ~/Downloads

6. Realice una ejecución en seco:pruebe la eliminación con la opción -t

Use la opción -t para probar qué archivos se van a eliminar.

Esto es muy útil cuando está ejecutando esto en un directorio importante y desea exactamente qué archivos se eliminarán antes de que realmente se eliminen.

Esta opción no elimina los archivos.

$ tmpreaper -t 5d ~/Downloads
(PID 5415) Pretending to clean up directory `/home/lakshmanan/Downloads'.
(PID 5416) Pretending to clean up directory `.tmp_versions'.
(PID 5416) Back from recursing down `.tmp_versions'.

7. Forzar la eliminación de archivos usando la opción -f

Use la opción -f para forzar la eliminación de archivos. Normalmente, los archivos propiedad del usuario actual (EUID) sin acceso de escritura no se eliminan. Usar -f también eliminará esos archivos.

$ tmpreaper -f 5h ~/Downloads

8. No elimine archivos que coincidan con un patrón usando la opción –protect

Use –protect '' para proteger los archivos de coincidencia de patrones para que no se eliminen.

Por ejemplo, el siguiente comando eliminará todos los archivos excepto los archivos ".c".

$ tmpreaper  --protect '*.c' -t 5h ~/my_prg
Entry matching `--protect' pattern skipped. `hello.c'
Pretending to remove file `./.hello.o'.

9. Usando tmpreaper en Cron

De forma predeterminada, cuando instala tmpreaper, colocará una entrada en crontab (/etc/cron.daily/tmpreaper). Leerá las opciones de /etc/tmpreaper.conf y ejecutará el comando tmpreaper basado en esas opciones.

El archivo /etc/tmpreaper.conf se explica por sí mismo y es fácil de entender. De forma predeterminada, eliminará los archivos que tengan 7 días de antigüedad en /tmp, excepto algunos tipos de archivos. Si planea usar esto, elimine la línea 'SHOWWARNING=true' de /etc/tmpreaper.conf.

Una vez que se elimine la línea, tmpreaper se ejecutará diariamente para limpiar los directorios especificados sin la intervención del usuario.


Linux
  1. Cómo hacer una comparación línea por línea de archivos en Linux usando el comando diff

  2. Cómo administrar archivos de registro usando Logrotate en Linux

  3. Cómo ordenar archivos en Linux usando el comando Ordenar

  4. ¿Cómo se eliminan archivos anteriores a la fecha específica en Linux?

  5. Linux:uso de buscar para localizar archivos anteriores a <fecha>

Cómo encontrar archivos usando la línea de comandos en la terminal de Linux

Cómo cambiar el nombre de los archivos usando la línea de comandos en Linux

Cómo eliminar archivos con extensión específica en Linux

Cómo eliminar archivos anteriores a los días especificados en Linux

Cómo quitar/eliminar archivos en Linux usando el comando rm

Cómo copiar archivos en Linux usando el comando CP