Senų žurnalo failų naikinimo proceso automatizavimas
Daugelis paslaugų ir programų ten sukuria žurnalo failus kaip audito seką už viską, ką jie daro, tačiau mažai jų turi funkciją, kuri pašalina šias rinkmenas, nes jos yra naudingesnės. Dėl šios priežasties šie žurnalo failai sėdi jūsų sistemoje valgydami erdvę (kartais daugiau nei žinote) ir netinkamus katalogus tiems laikams, kuriuos reikia jiems pasiekti.
Taigi, jei jums nereikia šių failų, kodėl juos laikykite? Mes parodysime jums, kaip lengvai pašalinti šiuos senus žurnalo failus, kad galėtumėte tvarkingai tvarkyti sistemą.
Žinoma, nors žemiau pateikiami klausimai yra tiesiog naudingi žurnalo failams valdyti, tuos pačius metodus galite taikyti ir bet kuriam kitam „pasibaigiančio“ failo tipui (pvz., Atsarginėms kopijoms).
Pašalinkite failus pagal paskutinį pakeitimo datą
Jei norite ištrinti esamus žurnalo failus, remdamiesi tik paskutine pakeista failo data, naudokite komandą FORFILES. Pavyzdžiui:
FORFILAI / P “C: LogFiles” / S / D -7 / C „CMD / C DEL / F / Q @ PATH“
Pirmiau minėta komanda ištrintų visus failus iš aplanko „C: LogFiles“ ir visus poaplankius, kurie nebuvo pakeisti praėjusią savaitę.
„FORFILES“ komanda yra gana lanksti naudojant paieškos modelį ir datos funkcijas. Pavyzdžiui, vietoj numerio galite įvesti datą, pvz., „-1/13/2010“, jei norite ištrinti failus, paskutinį kartą pakeistus iki nurodytos datos.
Jei norite gauti visą informaciją apie tai, ką FORFILES gali padaryti, peržiūrėkite žinyną internete naudodami šią komandą iš komandų eilutės:
FORFILAI /?
Failų šalinimas pagal failo pavadinimo datą
Daugelis programų ir paslaugų gamina žurnalo failus, pagrįstus datos modeliu, kaip vieną žurnalo failą per dieną (t.y. Log100113.txt, Backup-2010-01-13.zip ir tt). Šių tipų rinkmenoms pageidautina ištrinti pagal failo pavadinimo datą, o ne paskutinę pakeistą datą. Tai naudinga scenarijai, pvz., Visų žurnalo failų saugojimas per pastaruosius 3 mėnesius. Deja, „Windows“ neturi native komandos su šios rūšies logika, tačiau su partijos scenarijumi galime lengvai atlikti šią užduotį.
Į scenarijaus naudojimo komentarus yra įtraukti pavyzdžiai, todėl turėtų būti gana lengva išsiaiškinti.
Scenarijus
ECECH Ištrinti pagal datos modelį ECHO Parašė: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. REM Delete / Select rinkmenos pagal datą, kurioje naudojami MM ir / arba DD failų pavadinimo modeliams. REM REM naudojimas: REM DeleteByDatePattern / M | / D NumberToKeep Path PatternPrefix PatternPostfix [/ L | / DEL] REM / M Nurodo, kad naudojamas modelis yra pagrįstas mėnesiais. REM / D Nurodo, kad naudojamas modelis yra pagrįstas dienomis. REM NumberToKeep REM Išlaikytinų mėnesių skaičius (M) arba dienos (/ D), įskaitant srovę. REM Pavyzdžiui, įvedus 1, tik dabartinis mėnuo / diena, o 6 - išlaikys dabartinę minusą 5. REM Path Ieškoma paieškos vieta. Bus ieškoma katalogų. REM PatternPrefix REM Failų paieškos modelis, išdėstytas prieš mėnesį / dieną, kai sukuriama paieškos eilutė. REM PatternPostfix REM Failo paieškos modelis, pastatytas po mėnesio / dienos, kai sukuriama paieškos eilutė. REM / L (pasirinktinai) išvardija visus failus atitinkančius failus, bet jų neištrina. REM / DEL (pasirinktinai) Ištrina visus failus atitinkančius failus. REM REM pavyzdžiai: REM DeleteByDatePattern / M 3 "% WinDir% system32LogFiles" ex ?? ? log / DEL REM Ištrina visus IIS žurnalo failus (Windows Server 2003), išskyrus dabartinius ir ankstesnius du mėnesius. REM DeleteByDatePattern / D 7 "D: atsarginė kopija" * - ???? - ?? - .zip / DEL REM Ištrina visus zip failus iš D: Backup aplanko, išskyrus einamąją savaitę. REM Pirmiau minėtas failo pavadinimo modelis yra "* -YYYY-MM-DD.zip" REM DeleteByDatePattern / M 0 "C:" * () * / L REM Spausdina visų failų sąrašą, atitinkantį C diską: " * -MM- * "(kur MM yra pakeistas 01-12) REM DeleteByDatePattern / D 14" C: žurnalai "Prisijungti - ???? .txt REM Spausdina visų modelių, kuriuos apdorotų scenarijus, sąrašą. „SETLOCAL EnableExtensions“ „EnableDelayedExpansion REM“ Daroma prielaida, kad „Windows“ datos / laiko nustatymai yra „DayOfWeek M / D / YYYY“ formato. REM Jei jūsų formatas yra kitoks, turėsite pakeisti toliau nurodytus kintamuosius, kad jie atitiktų. FOR / F "žetonai = 1,2,3,4 delims = /" %% A IN ('DATE / T') DO (SET mėnuo = %% B SET diena = %% C SET metai = %% D) IF / I % 1 == / M (SET Keep =% mėnuo% SET maks. = 12) IF / I % 1 == / D (SET Keep =% Day% SET maks. = 31 REM darbo SET / A PrevMonth =% Mėnuo% -1 IF! PrevMonth! EQU 2 (SET Max = 28 REM Leap metai… pridėti daugiau, kaip reikia. IF / I% Metai% EQU 2012 SET max = 29 IF / I% Metai% EQU 2016 SET Max = 29) IF / I! PrevMonth! EQU 4 SET Maks. = 30 IF / I! PrevMonth! EQU 6 SET Maks. = 30 IF / I! / I! PrevMonth! EQU 11 SET Max = 30) SET Current =% Laikyti% SET / A Keep =% Laikyti% -% 2 + 1 REM Nustatykite šalinamą diapazoną. SET / A RemoveHighStart =% Dabartinis% + 1 IF / I% Laikyti% LSS 1 (SET RemoveLow = 0 SET / A PašalintiHighEnd =% Laikyti% +% Max% -1) ELSE (SET / A RemoveLow =% Keep% -1 SET RemoveHighEnd =% Max%) REM procesas yra mažesnis nei žemas diapazonas. FOR / L %% Z IN (1,1,% RemoveLow%) DO CALL: Procesas %% Z% 3% 4% 5% 6 REM Procesas didesnis nei aukštas diapazonas. FOR / L %% Z IN (% RemoveHighStart%,%,% RemoveHighEnd%) DO CALL: Procesas %% Z% 3% 4% 5% 6 ENDLOCAL GOTO pabaiga: Process SET Key = 0% 1 SET Key =% raktas: ~ -2% SET Target = "% ~ 2% ~ 3% Key %% ~ 4" ECHO tikslinis modelis:% Target% IF / I % 5 == / L DIR% Target% / B / S IF / I % 5 == / DEL DEL / F / S / Q% Tikslinė% GOTO pabaiga: pabaiga
Proceso automatizavimas
„FORFILES“ komanda yra gimtoji „Windows“, tačiau „DeleteByDatePattern“ scenarijus turėtų būti įdėtas į aplanką, apibrėžtą „Path“ kintamajame (pvz., „Windows“ aplanke), kad jį būtų galima pavadinti taip, lyg ji būtų gimtoji komanda. Kai tai bus padaryta, galite sukurti suplanuotą užduotį, kuri yra viena komanda (jei jums reikia ištrinti tik iš vienos vietos) arba paketinis failas (jei reikia ištrinti iš kelių vietų), kuris vyksta kasdien, kas savaitę, kas mėnesį arba kada.
Dar vienas dalykas, kurį galite nustatyti ir pamiršti.
Nuorodos
Atsisiųsti ištrinti pagal datą rašto scenarijų iš „Sysadmin Geek“