Daudzi pakalpojumi un programmas, kas tur, rada žurnāla failus kā revīzijas liecības par visu, ko viņi dara, tomēr maziem ir funkcija, kas noņem šos failus, kad tie pārspēj savu lietderību. Tā rezultātā šie žurnāla faili sit jūsu sistēmā, ēet telpu (dažreiz vairāk, nekā jūs zināt) un pārblīvēt direktorijus tiem laikiem, kuriem tiem nepieciešams piekļūt.
Tātad, ja jums nav nepieciešami šie faili, kāpēc saglabāt tos? Mēs gatavojamies parādīt, kā viegli noņemt šos vecos log failus, lai saglabātu jūsu sistēmu jauku un kārtīgu.
Protams, kamēr mēs apskatāmies zemāk, tie ir tūlītēji noderīgi, lai pārvaldītu žurnālu failus, jūs varat arī pielietot tās pašas metodes jebkuram cita veida "beidzas" failam (piemēram, dublējumkopijām).
Ja vēlaties dzēst esošos log failus, pamatojoties tikai uz faila pēdējo izmaiņu datumu, viss, kas jums jādara, ir komandu FORFILES. Piemēram:
FORFILES / P "C: LogFiles" / S / D -7 / C "CMD / C DEL / F / Q @ PATH"
Iepriekš minētā komanda izdzēš visus failus no mapes "C: LogFiles" un visām apakšmapēm, kas pagājušajā nedēļā nav mainītas.
FORFILES komanda ir samērā elastīga, izmantojot meklēšanas un datuma funkcijas. Piemēram, numura vietā varat ievadīt datumu, piemēram, "2010. gada 1. janvāris", lai izdzēstu failus, kas pēdējo reizi tika mainīti pirms norādītā datuma.
Lai iegūtu visu informāciju par to, ko FORFILES var darīt, skatiet tiešsaistes palīdzību, izmantojot komandu uzvedni, izmantojot šādu komandu:
FORFILES /?
Daudzi lietojumprogrammas un pakalpojumi veido žurnāla failus, pamatojoties uz datuma modeli, lai katram datumam būtu viens žurnāla fails (t.i., Log100113.txt, Backup-2010-01-13.zip uc). Šādu veidu failiem ieteicams dzēst, pamatojoties uz faila datumā iekļauto datumu, nevis pēdējo izmaiņu datumu. Tas ir noderīgi scenārijiem, piemēram, visu žurnāla failu saglabāšanu pēdējo 3 mēnešu laikā. Diemžēl operētājsistēmai Windows nav tādas vietējas komandas ar šāda veida loģiku, bet ar partijas skriptu mēs varam viegli rīkoties ar šo uzdevumu.
Skriptā izmantotie komentāri ir iekļauti piemēros, tāpēc būtu viegli noskaidrot.
@ECHO OFF ECHO Dzēst pēc datuma Pattern ECHO Raksta: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. REM Dzēst / atlasīt failus, pamatojoties uz datumu, kurā tiek izmantoti MM un / vai DD failu nosaukumu raksturlielumi. REM REM Lietošana: REM DeleteByDatePattern / M | / D NumberToKeep ceļš PatternPrefix PatternPostfix [/ L | / DEL] REM / M Norāda, ka izmantotais modelis pamatojas uz mēnešiem. REM / D Norāda, ka modelis tiek izmantots, pamatojoties uz dienām. REM NumberToKeep REM Mēnešu skaits (/ M) vai dienas (/ D), lai saglabātu, ieskaitot pašreizējo. REM Piemēram, ievadot 1 saglabā tikai pašreizējo mēnesi / dienu, un 6 saglabātu pašreizējo mīnus 5. REM ceļš Saknes atrašanās vieta, kur veikt meklēšanu. Tiks meklēti apakšdirektoriji. REM PatternPrefix REM Failu meklēšanas modelis, kas atrodas pirms mēneša / dienas, kad tiek izveidota meklēšanas virkne. REM PatternPostfix REM Failu meklēšanas modelis, kas atrodas pēc mēneša / dienas, kad tiek veidota meklēšanas virkne. REM / L (pēc izvēles) Norāda visus failus, kas atbilst modelim, bet tos neizdzēš. REM / DEL (pēc izvēles) Izdzēš visus failus, kas atbilst modelim. REM REM Piemēri: REM DeleteByDatePattern / M 3 "% WinDir% system32LogFiles" ex ?? ?? .log / DEL REM Izdzēš visus IIS žurnāla failus (Windows Server 2003), izņemot pašreizējos un iepriekšējos divus mēnešus. REM DeleteByDatePattern / D7 "D: Backup" * - ???? - ?? - .zip / DEL REM Izdzēš visus zip failus no D: Backup mapes, izņemot pašreizējo nedēļu. REM Iepriekš minētā faila nosaukuma raksts ir "* -YYYY-MM-DD.zip" REM DeleteByDatePattern / M 0 "C:" * () * / L REM Izdrukā visu faila sarakstu C diskā, kas atbilst modelim: " * -MM- * "(kur MM tiek aizstāts ar 01-12) REM DeleteByDatePattern / D 14" C: žurnāli "Log - ???? .txt REM Drukā sarakstu ar visiem modeļiem, kurus skripts apstrādātu. SETLOCAL EnableExtensions EnableDelayedExpansion REM Pieņemsim, ka jūsu Windows Date / Time iestatījumi ir iestatīti uz 'DayOfWeek M / D / YYYY' formātu. REM Ja jūsu formāts ir atšķirīgs, jums būs jāmaina tālāk minētie mainīgie, lai tos saskaņotu. FOR / F "žetoni = 1,2,3,4 delims = /" %% A IN ('DATE / T') DO (SET Mēnesis = %% B SET Diena = %% C SET Gads = %% D) IF / I % 1 == / M (SET Uzglabāt =% Mēnesis% SET Maks. = 12) IF / I % 1 == / D (SET Uzglabāt =% dienā% SET Max = 31 REM darba SET / A PrevMonth =% Mēnesis% -1 Ja ... PrevMonth! EQU 2 (SET Max = 28 REM Hiper gadi ... pievieno vairāk pēc nepieciešamības IF / I%% Gads% EQU 2012 SET Max = 29 IF / I% Gads% EQU 2016 SET Max = 29) IF / I! Iepriekšējais laiks! EQU 4 SET Max = 30 IF / I! Iepriekšējais laiks! EQU 6 SET Max = 30 IF / I! Iepriekšējais laiks! EQU 9 SET Max = 30 IF / I! PrevMonth! EQU 11 SET Max = 30) SET Current =% Uzglabāt% SET / A Uzglabāt =% Uzglabāt% -% 2 + 1 REM Nosakiet noņemamo diapazonu. SET / A RemoveHighStart =% Current% + 1 IF / I% Uzglabāt% LSS 1 (SET RemoveLow = 0 SET / A RemoveHighEnd =% Turēt% +% Max% -1) ELSE (SET / A RemoveLow =% Turēt% -1 SET RemoveHighEnd =% Max%) REM Visus procesus apstrādājiet zemāk par zemo diapazonu. FOR / L %% Z IN (1,1,% RemoveLow%) DO CALL: Procesa %% Z% 3% 4% 5% 6 REM Process viss ir lielāks nekā lielais diapazons. FOR / L %% Z IN (% RemoveHighStart%, 1,% RemoveHighEnd%) DO CALL: Process %% Z% 3% 4% 5% 6 ENDLOCAL GOTO Beigas: Process SET Key = 0% 1 SET Key =% Key: ~ ~ 2% SET Target = "% ~ 2% ~ 3% Key %% ~ 4" ECHO Mērķa modelis:% Mērķa% IF / I % 5 == / L DIR% Mērķa% / B / S IF / I (% 5) == / DEL DEL / F / S / Q% Mērķa% GOTO Beigas beigas
FORFILES komanda ir raksturīga Windows, taču DeleteByDatePattern skripts jāievieto mapē, kas noteikta jūsu ceļojuma mainīgajā (piemēram, mapē Windows), lai to varētu izsaukt tā, it kā tā būtu vietēja komanda. Kad tas ir paveikts, jūs varat izveidot plānotu uzdevumu, kas ir vai nu viena komanda (ja jums ir nepieciešams tikai izdzēst no vienas atrašanās vietas) vai sērijveida (ja nepieciešams izdzēst no vairākām vietām), kas darbojas ikdienā, nedēļā, mēnesī vai kad vien.
Vēl viena lieta, ko varat iestatīt un aizmirst.
Lejupielādēt Dzēst pēc datuma Pattern skriptu no Sysadmin Geek