Bash – N entradas más recientes

Objetivo: 

Consultar las N entradas (ficheros, directorios o ambos) más recientes en un determinado directorio para borrar, copiar, renombrar, etc, etc

Etapas:

  • listar los nombres de los elementos
ls -dt
  • filtrar cuantas entradas queremos mantener
  • +N = N entradas más recientes | -N = N entradas más antiguas

tail -n +N
  • ejecutar la orden que necesitemos
xargs FUNCTION

Si concatenamos cada comando con el anterior, obtendremos

# Mantener últimos 3 ficheros de logs del sistema
 ls -dt /var/log/syslog* | tail -n +4 | xargs rm -rf

# Copiar el último backup a un NAS
 ls -dt /tu/ruta/al/backup | tail -n -2 |  xargs -i cp {} /ruta/al/NAS

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s