Homepage » hogyan kell » A régi naplófájlok törlésének automatizálása

    A régi naplófájlok törlésének automatizálása

    Számos szolgáltatás és program naplófájlokat állít elő mindennemű ellenőrzési nyomvonalaként, de kevés olyan funkcióval rendelkezik, amely eltávolítja ezeket a fájlokat, amint azok hasznosabbak. Ennek eredményeképpen ezek a naplófájlok a rendszerben ülnek, ahol helyet foglalnak (néha több, mint amennyit tudsz), és azoknak az időknek a rendetlenségét, amelyekhez hozzáférni kell hozzájuk.

    Tehát, ha nem kell ezeket a fájlokat, miért tartsd meg őket? Megmutatjuk, hogyan lehet könnyen eltávolítani ezeket a régi naplófájlokat, hogy a rendszer szép és rendezett legyen.

    Természetesen, míg az alábbiakban ismertetettek azonnal hasznosak a naplófájlok kezelésére, ugyanazokat a technikákat is alkalmazhatja bármely más típusú „lejáró” fájlra (például biztonsági mentésre).

    Fájlok eltávolítása az utolsó módosított dátum alapján

    Ha törölni szeretné a meglévő naplófájlokat a fájl utolsó módosított dátumától függően, csak a FORFILES parancsot kell használnia. Például:

    FORFILES / P “C: LogFiles” / S / D -7 / C „CMD / C DEL / F / Q @ PATH”

    A fenti parancs törli az összes fájlt a „C: LogFiles” mappából, és az összes almappát, amelyet nem módosítottak az elmúlt héten.

    A FORFILES parancs elég rugalmas a keresési mintával és a dátum funkcióval. Például egy szám helyett megadhat egy olyan dátumot, mint a '-1/13/2010', hogy törölje a megadott dátum előtt legutóbb módosított fájlokat.

    Ha meg szeretné tekinteni az összes részletet a FORFILES-ről, tekintse meg az online súgót a következő parancs segítségével:

    FORFILES /?

    Fájlok eltávolítása a fájlnév dátummintája alapján

    Számos alkalmazás és szolgáltatás naplófájlokat készít naplófájl alapján úgy, hogy naponta egy naplófájl van (azaz Log100113.txt, Backup-2010-01-13.zip stb.). Ilyen típusú fájlok esetén célszerű törölni a fájlnevet tartalmazó dátum alapján, nem pedig az utolsó módosított dátumot. Ez olyan forgatókönyvek esetében hasznos, mint például az összes naplófájl megtartása az elmúlt 3 hónapban. Sajnos, a Windows nem rendelkezik natív paranccsal az ilyen típusú logikával, de egy kötegelt szkript segítségével könnyen kezelhetjük ezt a feladatot.

    A parancsfájl használati észrevételei tartalmazhatnak példákat, így meglehetősen egyszerűnek kell lennie kitalálni.

    A script

    @ECHO OFF ECHO Dátum szerinti minta törlése ECHO Írta: Jason Faulkner ECHO SysadminGeek.com ECHO. VISSZHANG. A REM törlése / kiválasztása olyan fájlok alapján, amelyek MM és / vagy DD fájlokat használnak a fájlnevezési mintákhoz. REM REM Használat: REM DeleteByDatePattern / M | / D NumberToKeep Path PatternPrefix PatternPostfix [/ L | / DEL] REM / M Megadja, hogy a használt minta hónapokon alapul. REM / D Megadja, hogy a használt minta napokon alapul. REM NumberToKeep REM A megtartandó hónapok száma (/ M) vagy napok (/ D), beleértve az áramot is. REM Például az 1-es bevitel csak az aktuális hónapot / napot, a 6 pedig az aktuális mínusz 5-t fogja tartani. REM Path A keresendő gyökérhely. Az alkönyvtárakat keresik. REM PatternPrefix REM A keresési karakterlánc építése előtt a hónap / nap előtti fájlkeresési minta. REM PatternPostfix REM A keresési karakterlánc építése után a hónap / nap után elhelyezett fájlkeresési minta. REM / L (opcionális) Az összes, a mintához tartozó fájl listázása, de nem törli azokat. REM / DEL (opcionális) Törli a minta szerinti összes fájlt. REM REM Példák: REM DeleteByDatePattern / M 3 "% WinDir% system32LogFiles" ex ?? ??.log / DEL REM Az összes IIS naplófájlt (Windows Server 2003) törli az aktuális és az előző két hónap kivételével. REM DeleteByDatePattern / D 7 "D: Biztonsági mentés" * - ???? - ?? - .zip / DEL REM Az összes zip fájlt a D: Backup mappából törli az aktuális hét kivételével. REM A fentiekben feltételezett fájlnév minta "* -YYYY-MM-DD.zip" REM DeleteByDatePattern / M 0 "C:" * () * / L REM Kinyomtat egy listát a C meghajtón lévő összes fájlról, amely megfelel a minta: " * -MM- * "(ahol az MM helyére 01-12) REM DeleteByDatePattern / D 14" C: Naplók "Napló - ???? .txt REM Kinyomtat egy listát azokról a mintákról, amelyeket a parancsfájl feldolgoz. SETLOCAL EnableExtensions EnableDelayedExpansion REM Feltételezi, hogy a Windows dátum / idő beállításai 'DayOfWeek M / D / YYYY' formátumban vannak beállítva. REM Ha más formátumú, módosítania kell az alábbi változókat, hogy azok igazodjanak. FOR / F "tokenek = 1,2,3,4 delims = /" %% A IN ('DATE / T') DO (SET hónap = %% B SET nap = %% C SET év = %% D) IF / I % 1 == / M (SET Keep =% hónap% SET Max = 12) IF / I % 1 == / D (SET Keep =% Day% SET Max = 31 REM munka SET / A PrevMonth =% Hónap% -1 IF! PrevMonth! EQU 2 (SET Max = 28 REM Leap év… szükség esetén bővítsen. IF / I% év% EQU 2012 SET max = 29 IF / I% év% EQU 2016 SET Max = 29) IF / I! PrevMonth! EQU 4 SET Max = 30 IF / I! PrevMonth! EQU 6 SET Max = 30 IF / I! PrevMonth! / I! PrevMonth! EQU 11 SET Max = 30) SET Current =% Tartsa% SET / A Keep =% Tartsa% -% 2 + 1 REM Határozza meg az eltávolítandó tartományt. SET / A RemoveHighStart =% Aktuális% + 1 IF / I% Tartsa% LSS 1 (SET RemoveLow = 0 SET / A RemoveHighEnd =% Tartsa% +% Max% -1) ELSE (SET / A RemoveLow =% Tartsa% -1 SET RemoveHighEnd =% Max%) REM folyamat kisebb, mint az alacsony tartomány. FOR / L %% Z IN (1,1,% RemoveLow%) DO CALL: Process %% Z% 3% 4% 5% 6 REM folyamat mind nagyobb, mint a magas tartomány. FOR / L %% Z IN (% RemoveHighStart%,%,% RemoveHighEnd%) DO CALL: Process %% Z% 3% 4% 5% 6 ENDLOCAL GOTO Vége: Process SET Key = 0% 1 SET Key =% Kulcs: ~ -2% SET Cél = "% ~ 2% ~ 3% Kulcs %% ~ 4" ECHO célmintája:% Cél% IF / I % 5 == / L DIR% Cél% / B / S IF / I % 5 == / DEL DEL / F / S / Q% Cél% GOTO vége: Vége

    A folyamat automatizálása

    A FORFILES parancs a Windows számára natív, de a DeleteByDatePattern parancsfájlt egy Path változóban (például a Windows mappában) definiált mappában kell elhelyezni, így úgy lehet nevezni, mintha natív parancs lenne. Ha ez megtörtént, létrehozhat egy ütemezett feladatot, amely vagy egyetlen parancs (ha csak egyetlen helyről kell törölni), vagy egy kötegfájl (ha több helyről törölni kell), amely naponta, hetente, havonta fut vagy bármikor.

    Még egy dolog, amit meg lehet állítani és elfelejteni.

    linkek

    Letöltés törlése dátum mintázattal Sysadmin Geek