• Gå till huvudmenyn
  • Hoppa till huvudinnehåll
  • Hoppa till huvudsidofältet
  • Gå till sidfot

TechLila

Bleeding Edge, alltid

  • Hem
  • Om
  • Kontakta
  • Erbjudanden och erbjudanden
Techlila logotyp
Dela
Tweeta
Dela
nål
5 aktier
Linux Operativsystem Introduktion
Strax

Introduktion till operativsystemet Linux

Ta bort filer äldre än 'x' dagar i Linux

TechLila Dator Linux

Ta bort filer äldre än 'x' dagar i Linux

Avatar av Rajesh Namase Rajesh Namase
Senast uppdaterad den: November 30, 2020

Idag kommer vi att visa ett sätt för dig som du kan radera filer som är äldre än "X" dagar. Anta att du vill ta bort filer som är äldre än 7 dagar så hjälper den här artikeln dig att göra det. Sökverktyget tillåter dig att skicka in ett par intressanta argument, inklusive ett för att köra ett annat kommando på varje fil. För att ta reda på vilka filer som är äldre än ett visst antal dagar kommer vi att använda detta hitta nytta och använd sedan rm kommando för att radera dem. Kommandosyntaxen är som följer:

hitta /sökväg/till/filer* -mtime +5 -exec rm {} \;

Vi är inte ansvariga för eventuell dataförlust som kan uppstå. Vi rekommenderade dig till lista filerna och kontrollera innan du tar bort dem genom att köra följande kommando:

hitta /sökväg/till/filer* -mtime +5 -exec ls {} \;

Notera: Det finns mellanslag mellan rm, {} och \;

Ta bort filer äldre än 5 dagar
Se även
Hur man skapar arkiv i Linux

Kommandoförklaring:

Det första argumentet i kommandot ovan är sökvägen till filerna. Det andra argumentet är -mtime används för att ange hur många dagar gammal filen är. Om du anger +5 kommer den att hitta filer som är äldre än fem dagar. Det sista argumentet är exec låter dig skicka in ett kommando som rm. De {} \; i slutet krävs för att avsluta kommandot.

Detta borde fungera på nästan alla versioner av Linux som Ubuntu, Fedora, Red Hat, Suse, etc. Om du står inför något problem som verkar ganska omöjligt här, låt oss veta det i kommentarerna nedan.

Dela
Tweeta
Dela
nål
5 aktier

Upplysningar: Innehåll som publiceras på TechLila stöds av läsare. Vi kan få en provision för köp gjorda via våra affiliate-länkar utan extra kostnad för dig. Läs vår Ansvarsfriskrivningssida för att veta mer om vår finansiering, redaktionella policyer och sätt att stödja oss.

Dela är omtänksam

Dela
Tweeta
Dela
nål
5 aktier
Avatar av Rajesh Namase

Rajesh Namase

Rajesh Namase är en professionell bloggare och grundare av TechLila blogg. Dessutom är han en passionerad entreprenör, internetmarknadsförare och fitnessfreak.

Kategori

  • Linux

Tags

Linux kommandon, Linux tutorials

Läsar Interaktioner

Vad folk säger

  1. Avatar av Suraj SalunkheSuraj Salunkhe

    Jag använde det här tricket! Grymt trick! Tack för att du delar med dig av ett så bra trick :)

    Svara
  2. Avatar av Amruta PatilAmruta Patil

    Ja, jag använde den här kameran under övningssessionen för RHCE.

    Svara
  3. Avatar av BenBen

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

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

    Fick ihop något ur ditt förslag här. En metod för att skapa en lista över filer som är fem dagar gamla i vanlig text. Lättare att hålla ett register för visning innan du tar bort filer. Användare kan sedan använda cat, vi, vim, gedit, emacs för att se vad de kan slänga ut.

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

    Att bryta ner ./ är den aktuella katalogen. Hitta att använda en aktuell katalog ofta säkrare än att använda /-kanonen. >> läggs till i en fil, om den inte finns skapas den.

    Tänkte till och med att det kan vara användbart som alias. Förmodligen kunde/bör porta det till ett skalskript först. Att vara lat dock, sent här.

    Svara
  4. Avatar av Ben PiperBen Piper

    Tack! Jag använde den här syntaxen i ett cron-jobb.

    Svara
  5. Avatar av VivianVivian

    Det bra tipset att ta bort filer äldre än vissa dagar. Men om din argumentlista är lång (jag tror att maxvärdet är 65535 eller något i den stilen) kommer detta inte att fungera.

    Jag har ett anpassat skript som gör jobbet:


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

    Klar.

    Svara
    • Avatar av Rajesh NamaseRajesh Namase

      Tack för att du gav manuset.

      Svara
      • Avatar av VivianVivian

        Välkommen Namase.

        Kalla manuset så här:

        ./scriptname.sh DEL numDays

        Om numDays inte anges kommer den att använda minst 1 så se till att du anger numDays. Jag är inte ansvarig för hur du använder det här skriptet och för eventuell dataförlust som kan uppstå.

        Svara
  6. Avatar av PawanPawan

    om jag vill ta bort Dirs och filer från 30 dagar gamla till min fjärrmaskin och en sak exklusive 1 och 2 eller 3 dirs och så hur kan jag göra detta ..?? Dela gärna med dig av dina tankar.

    Svara
  7. Avatar av Aliali

    Jag använder den här tekniken, den är mycket användbar för att ta bort trc-fil i Oracle

    Svara
  8. Avatar av Ethanethan

    Tack för att du delar detta användbara kommando för alla användare. Vi kan enkelt ta bort äldre filer i Linux. Jag letar också efter det och fick äntligen lösningen här.

    Svara
  9. Avatar av GregGreg

    Får detta filer i underkataloger också? Om så är fallet, hur skulle jag göra det så att det inte gör det?

    hitta /home/greg/logs -typ f -mtime +5 -exec rm {} ;

    Svara
  10. Avatar av Suraj SalunkheSuraj Salunkhe

    Jag letade efter ett sådant kommando. Verkligen hjälpsam. Och tack för att du delar med dig av manuset, Vivian.

    Svara

Lägg till din kommentar Avbryt svar

E-postadressen publiceras inte. Obligatoriska fält är markerade *

primär Sidebar

Populära

Hur man ökar bredbandshastigheten på Windows

10 bästa Android Launchers 2021

Saker att göra efter installation av Windows 10 – Windows 10 tips och tricks

Topp 10 sökmotorer du kan använda för att söka på webben privat

55 Intressanta datorfakta som kommer att få dig att bli förbannad

Vad du ska leta efter när du köper en bärbar dator – en köpguide för bärbar dator

Fusion Drive vs SSD – saker som ingen berättar om Fusion vs SSD-lagring

Användbara verktyg

• Grammarly – Gratis grammatikkontroll
• SEMrush – Det bästa SEO-verktyget som experter litar på
• Setapp – One-stop-prenumeration för Mac och iOS

Populära ämnen

  • Android
  • Internet
  • iPhone
  • Linux
  • Macintosh
  • säkerhet
  • Sociala medier
  • Teknologi
  • fönster

Värt att kolla

10 bästa ljudequalizer för Windows 10 (2022 Edition!)

14 bästa VLC-skins som rekommenderas starkt och gratis

Footer Logo Sidfot Text Logotyp

Sidfot

Om

Hej och välkommen till TechLila, den berömda teknikbloggen där du kan hitta fyndiga artiklar för att bemästra grunderna och mer.

På TechLila är vårt huvudsakliga mål att tillhandahålla unik information, såsom kvalitetstips och tricks, tutorials, hur man gör-guider på Windows, Macintosh, Linux, Android, iPhone, säkerhet och några diverse underämnen såsom recensioner.

vänster

  • Om
  • Kontakta Oss
  • Villkor
  • Sekretesspolicy
  • Villkor

Följ

Anpassat tema med hjälp av Genesis Framework

Molnvärd av Cloudways

Språk

en English
bg Българскиzh-CN 简体中文nl Nederlandsen Englishtl Filipinofr Françaisde Deutschid Bahasa Indonesiait Italianoja 日本語pl Polskipt Portuguêsro Românăru Русскийsr Српски језикes Españolsv Svenskatr Türkçeuk Українськаvi Tiếng Việt

© Copyright 2012–2022 TechLila. All Rights Reserved.