• Ir a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie
Logotipo de TechLila

TechLila

Borde sangrante, siempre

  • Inicio
  • Blog
    • Android
    • Módulo
    • Internet
    • iPhone
    • Linux
    • Tecnología
    • Windows
  • Nosotros
  • Contacto
  • Ofertas y promociones
Logotipo de Techlila
FacebookTweetLinkedInPinAcciones209
Juegos de Linux que disfrutarás jugando
Hasta la próxima

7 juegos de Linux que apostamos a que disfrutará jugando

Eliminar archivos de más de 'x' días en Linux

TechLila Módulo Linux

Eliminar archivos de más de 'x' días en Linux

Avatar de Rajesh Namase Rajesh Namase
Ultima actualización en: 30 de noviembre.

Hoy, le mostraremos un camino por el cual puede eliminar archivos que tengan más de 'X' días. Suponga que desea eliminar archivos de más de 7 días, entonces este artículo lo ayudará a hacerlo. La utilidad de búsqueda le permite pasar un par de argumentos interesantes, incluido uno para ejecutar otro comando en cada archivo. Para averiguar qué archivos tienen una antigüedad superior a un cierto número de días, usaremos este encontrar utilidad y luego usar el comando rm para eliminarlos. La sintaxis del comando es la siguiente:

buscar / ruta / a / archivos * -mtime +5 -exec rm {} \;

No somos responsables de ninguna pérdida de datos que pueda ocurrir. Te recomendamos al enumerar los archivos y comprobar antes de eliminarlos, ejecutando el siguiente comando:

buscar / ruta / a / archivos * -mtime +5 -exec ls {} \;

Nota: Las bridas de tamaños XNUMX” y XNUMX” ASME BXNUMX clase XNUMX con valores de explonion XNUMX, XNUMX psig a XNUMX °C (XNUMX °F) se encuentran en stock en tipo INVERTIDO. Hay espacios entre rm, {} y \;

Eliminar archivos de más de 5 días
Vea también
Cómo crear un repositorio en Linux

Explicación del comando:

El primer argumento en el comando anterior es el ruta a los archivos. El segundo argumento es -Mtime se utiliza para especificar cuántos días tiene el archivo. Si ingresa +5, encontrará archivos con más de cinco días. El último argumento es Exec- le permite pasar un comando como rm. los {} \; al final es necesario para terminar el comando.

Esto debería funcionar en casi todas las versiones de Linux como Ubuntu, Fedora, Red Hat, Suse, etc. Si tiene algún problema que parezca imposible aquí, háganoslo saber en los comentarios a continuación.

Divulgación: El contenido publicado en TechLila es compatible con lectores. Es posible que recibamos una comisión por las compras realizadas a través de nuestros enlaces de afiliados sin costo adicional para usted. Lea nuestro Página de exención de responsabilidad para saber más sobre nuestra financiación, políticas editoriales y formas de apoyarnos.

Compartir es demostrar interés

FacebookTweetLinkedInPinAcciones209
Avatar de Rajesh Namase

Rajesh Namase

Rajesh Namase es un bloguero profesional y fundador del blog TechLila. Además, es un emprendedor apasionado, un comercializador de Internet y un fanático del fitness.

Categoría

  • Linux

Etiquetas

Comandos de Linux, Tutoriales de Linux

Interacciones Reader

Lo que la gente esta diciendo

  1. Suraj Salunkhe

    ¡Usé este truco! ¡Truco impresionante! Gracias por compartir un truco tan bueno :)

    Responder
  2. Amruta Patil

    Ya utilicé esta cámara durante la sesión de práctica de RHCE.

    Responder
  3. paquet

    find ./* -mtime +5 -exec ls {} \; >> ./5DaysOld

    alias 5DayLs="find ./* -mtime +5 -exec ls {} \; >> ./5DaysOld"

    Elaboramos algo a partir de tu sugerencia aquí. Un método para hacer una lista de archivos de texto sin formato con cinco días de antigüedad. Es más fácil mantener un registro para ver antes de eliminar archivos. Los usuarios pueden usar cat, vi, vim, gedit, emacs para ver qué pueden tirar.

    find ./* -mtime +5 -exec ls {} \; >> ./5DaysOld

    Desglosando ./ es el directorio actual. Encontrar usando un directorio actual a menudo es más seguro que usar el / cannon. >> se agrega a un archivo, si no existe, se crea.

    Incluso pensé que podría ser útil como alias. Probablemente podría / debería portarlo primero a un script de shell. Sin embargo, siendo vago, llega tarde.

    Responder
  4. ben gaitero

    ¡Gracias! Usé esta sintaxis en un trabajo cron.

    Responder
  5. Vivian

    El buen consejo para eliminar archivos con una antigüedad superior a ciertos días. Sin embargo, si su lista de argumentos es larga (creo que el máximo es 65535 o algo por el estilo), esto no funcionará.

    Tengo un script personalizado que hace el trabajo:


    #!/bin/bash

    cd /directory-to-be-checked
    allfiles=`ls`
    NOW=`date +%s`
    for filename in $allfiles
    do
    OLD=`stat -c %Z $filename`
    if [ "$2" == "" ]
    then
    DELAY=86400
    else
    let "DELAY=$2 * 86400"
    fi
    AGE=`expr $NOW - $OLD`
    #echo "Delay is $DELAY and Age is $AGE"
    #exit 0
    if [ $AGE -gt $DELAY ]
    then
    #echo "File $filename is $AGE"
    fstamp=`ls -l $filename`
    if [ "$1" == "DEL" ]
    then
    echo "Deleting file $filename"
    `rm -f $filename`
    else
    echo "$fstamp"
    fi
    fi

    Hecho.

    Responder
    • Rajesh Namase

      Gracias por darme el guion.

      Responder
      • Vivian

        Tu bienvenida Namase.

        Llame al script así:

        ./scriptname.sh DEL numDays

        Si no se especifica numDays, usará el mínimo de 1, así que asegúrese de especificar numDays. No soy responsable de cómo utilice este script y de cualquier pérdida de datos que pueda ocurrir.

        Responder
  6. Pawan

    si quiero eliminar Dirs y archivos de 30 días de antigüedad en mi máquina remota y una cosa excluyendo 1 y 2 o 3 dirs y entonces, ¿cómo puedo hacer esto .. ?? Por favor comparta sus pensamientos.

    Responder
  7. Ali

    Utilizo esta técnica, es muy útil para eliminar el archivo trc en Oracle.

    Responder
  8. Ethan

    Gracias por compartir este útil comando para todos los usuarios. Podemos eliminar fácilmente archivos más antiguos en Linux. También lo estoy buscando y finalmente obtuve la solución aquí.

    Responder
  9. Shawn


    ¿Esto también obtiene archivos en subdirectorios? Si es así, ¿cómo lo haría para que no sea así?

    buscar / inicio / greg / logs -type f -mtime +5 -exec rm {};

    Responder
  10. Suraj Salunkhe

    Estaba buscando tal comando. De mucha ayuda. Y gracias por compartir el guión, Vivian.

    Responder

Añada su comentario Cancelar respuesta

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *

Logotipo de pie de página Logotipo de texto de pie de página

Pie de página

Nosotros

Hola y bienvenido a TechLila, el famoso blog de tecnología donde puedes encontrar artículos ingeniosos para dominar los conceptos básicos y más.

En TechLila, nuestro objetivo principal es proporcionar información única, como consejos y trucos de calidad, tutoriales, guías prácticas en Windows, Macintosh, Linux, Android, iPhone, seguridad y algunos subtemas diversos como reseñas.

Enlaces

  • Nosotros
  • Contáctenos
  • Descargo de responsabilidad
  • Política de privacidad
  • Términos

Seguir

Tema personalizado usando Genesis Framework

Alojamiento en la nube por Cloudways

Idioma

© Copyright 2012–2023 TechLila. Todos los derechos reservados.