• Direkt zur Hauptnavigation
  • Direkt zum Inhalt
  • Zur Fußzeile
TechLila-Logo

TechLila

Blutende Kante, immer

  • Home
  • Blog
    • Android
    • Computer
    • Internet
    • iPhone
    • Linux
    • Technologie
    • Windows
  • Über uns
  • Kontakt
  • Angebote und Angebote
Techlila-Logo
FacebookTweet LinkedInPinShares196
Erweiterte Linux-Befehle
Als nächstes

Linux zum Anfassen: Die erweiterten Terminalbefehle

Löschen Sie Dateien, die älter als 'x' Tage in Linux sind

TechLila Computer Linux

Löschen Sie Dateien, die älter als 'x' Tage in Linux sind

Avatar von Rajesh Namase Rajesh Namase
Zuletzt aktualisiert am: 30. November 2020

Heute zeigen wir Ihnen einen Weg, wie Sie das können Dateien löschen, die älter als 'X' Tage sind. Angenommen, Sie möchten Dateien löschen, die älter als 7 Tage sind, dann hilft Ihnen dieser Artikel dabei. Mit dem Dienstprogramm find können Sie einige interessante Argumente eingeben, darunter eines, um einen weiteren Befehl für jede Datei auszuführen. Um herauszufinden, welche Dateien älter als eine bestimmte Anzahl von Tagen sind, verwenden wir dies Dienstprogramm finden und dann verwenden Sie die rm Befehl sie zu löschen. Die Befehlssyntax lautet wie folgt:

/Pfad/zu/Dateien finden* -mtime +5 -exec rm {} \;

Wir haften nicht für eventuell auftretende Datenverluste. Wir haben Sie empfohlen Listen Sie die Dateien auf und überprüfen Sie bevor Sie sie löschen, indem Sie den folgenden Befehl ausführen:

/Pfad/zu/Dateien finden* -mtime +5 -exec ls {} \;

Hinweis: Es gibt Leerzeichen zwischen rm, {} und \;

Löschen Sie Dateien, die älter als 5 Tage sind
[VORLÄUFIGE VOLLAUTOMATISCHE TEXTÜBERSETZUNG - muss noch überarbeitet werden. Wir bitten um Ihr Verständnis.]
So erstellen Sie ein Repository unter Linux

Befehlserklärung:

Das erste Argument im obigen Befehl ist das Pfad zu den Dateien. Das zweite Argument ist -Mtime wird verwendet, um anzugeben, wie viele Tage die Datei alt ist. Wenn Sie +5 eingeben, werden Dateien gefunden, die älter als fünf Tage sind. Das letzte Argument ist -Exec ermöglicht Ihnen die Übergabe eines Befehls wie rm. Die {} \; am Ende ist erforderlich, um den Befehl zu beenden.

Dies sollte auf fast allen Linux-Versionen wie Ubuntu, Fedora, Red Hat, Suse usw. funktionieren. Wenn Sie auf ein Problem stoßen, das hier ziemlich unmöglich erscheint, lassen Sie es uns in den Kommentaren unten wissen.

Disclosure: Auf TechLila veröffentlichte Inhalte werden von Lesern unterstützt. Wir erhalten möglicherweise eine Provision für Einkäufe, die über unsere Affiliate-Links getätigt werden, ohne dass Ihnen zusätzliche Kosten entstehen. Lesen Sie unsere Haftungsausschluss Seite um mehr über unsere Finanzierung, redaktionelle Richtlinien und Möglichkeiten, uns zu unterstützen, zu erfahren.

Teilen ist Kümmern

FacebookTweet LinkedInPinShares196
Avatar von Rajesh Namase

Rajesh Namase

Rajesh Namase ist ein professioneller Blogger und Gründer des TechLila-Blogs. Außerdem ist er ein leidenschaftlicher Unternehmer, Internet-Marketer und Fitness-Freak.

Kategorie

  • Linux

Schlagwörter

Linux-Befehle, Linux-Tutorials

Reader-Interaktionen

Was unsere Besitzer dazu sagen

  1. Suraj Salunkhe

    Ich habe diesen Trick verwendet! Genialer Trick! Danke, dass du so einen guten Trick geteilt hast :)

    antworten
  2. Amruta Patil

    Ja, ich habe diese Cammand während der Übungssitzung von RHCE verwendet.

    antworten
  3. Ben

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

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

    Habe hier etwas aus deinem Vorschlag zusammengewürfelt. Eine Methode zum Erstellen einer einfachen Textdateiliste von Dateien, die fünf Tage alt sind. Es ist einfacher, eine Aufzeichnung zur Ansicht vor dem Entfernen von Dateien zu führen. Benutzer können dann cat, vi, vim, gedit, emacs verwenden, um zu sehen, was sie auswerfen dürfen.

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

    Aufschlüsseln ./ ist das aktuelle Verzeichnis. Finden Sie die Verwendung eines aktuellen Verzeichnisses oft sicherer als die Verwendung der / cannon. >> hängt an eine Datei an, wenn sie nicht existiert, wird sie erstellt.

    Dachte sogar, es könnte als Alias ​​nützlich sein. Könnte / sollte es wahrscheinlich zuerst auf ein Shell-Skript portieren. Aber faul zu sein, hier zu spät.

    antworten
  4. Ben Piper

    Vielen Dank! Ich habe diese Syntax in einem Cron-Job verwendet.

    antworten
  5. Vivian

    Der gute Tipp, um Dateien zu löschen, die älter als bestimmte Tage sind. Wenn Ihre Argumentliste jedoch lang ist (ich denke, das Maximum beträgt 65535 oder so ähnlich), funktioniert dies nicht.

    Ich habe ein benutzerdefiniertes Skript, das die Arbeit erledigt:


    #!/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

    Fertig.

    antworten
    • Rajesh Namase

      Danke für die Bereitstellung des Skripts.

      antworten
      • Vivian

        Ihr Willkommen Namase.

        Rufen Sie das Skript wie folgt auf:

        ./scriptname.sh DEL numDays

        Wenn numDays nicht angegeben ist, wird mindestens 1 verwendet. Stellen Sie also sicher, dass Sie numDays angeben. Ich übernehme keine Haftung dafür, wie Sie dieses Skript verwenden und für eventuell auftretende Datenverluste.

        antworten
  6. Pawan

    Wenn ich Verzeichnisse und Dateien löschen möchte, die 30 Tage alt sind, auf meinem Remote-Rechner und eine Sache ausschließt 1 und 2 oder 3 Verzeichnisse und wie kann ich dies tun ..?? Bitte teilen Sie Ihre Gedanken.

    antworten
  7. Ali

    Ich verwende diese Technik, die sehr nützlich ist, um die Trc-Datei in Oracle zu löschen

    antworten
  8. Ethan

    Vielen Dank, dass Sie diesen nützlichen Befehl für alle Benutzer freigegeben haben. Wir können ältere Dateien in Linux leicht löschen. Ich suche auch danach und habe hier endlich die Lösung gefunden.

    antworten
  9. Greg

    Bekommt dies auch Dateien in Unterverzeichnissen? Wenn ja, wie würde ich es tun, damit es nicht tut?

    find /home/greg/logs -type f -mtime +5 -exec rm {} ;

    antworten
  10. Suraj Salunkhe

    Ich habe nach einem solchen Befehl gesucht. Wirklich hilfreich. Und danke, dass du das Skript geteilt hast, Vivian.

    antworten

Füge deinen Kommentar hinzu Antwort verwerfen

E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind MIT * gekennzeichnet. *

Footer Logo Fußzeilentext Logo

Fußzeile

Über uns

Hallo und willkommen bei TechLila, dem berühmten Technologieblog, in dem Sie einfallsreiche Artikel zum Beherrschen der Grundlagen und darüber hinaus finden.

Unser Hauptziel bei TechLila ist es, einzigartige Informationen wie Qualitätstipps und -tricks, Tutorials, Anleitungen zu Windows, Macintosh, Linux, Android, iPhone, Sicherheit und einige verschiedene Unterthemen wie Rezensionen bereitzustellen.

Links

  • Über uns
  • Kontakt
  • Haftungsausschluss
  • Datenschutz
  • Nutzungsbedingungen

Folgen Sie

Benutzerdefiniertes Design mit Genesis Framework

Cloud-Hosting von Cloudways

Sprache

© Copyright 2012–2023 TechLila. Alle Rechte vorbehalten.