Serverul Web IIS generează volume mari de fișiere log în procesul de funcționare. Totul ar fi bine, dar în mod implicit jurnalele IIS sunt localizate pe discul de sistem. care de obicei nu este prevăzut cu un volum mare. Ei bine, dacă aveți o mașină virtuală și puteți ignora pur și simplu lipsa de unitate C: \, crescând volumul atunci când este necesar, în beneficiul unei mașini virtuale funcționale a doua generație Hyper-V vă permite să măriți dimensiunea chiar și unitatea de sistem fara a opri serverul, doar o atingere. Și dacă nu ai o astfel de oportunitate? În acest caz, proliferarea jurnalelor poate fi o problemă serioasă pentru dvs.
În acest articol, voi discuta despre modul de gestionare a fișierelor de jurnal IIS și despre automatizarea procesului de dezinstalare.
Dacă sunteți interesat de obiectul Windows Server, vă recomandăm să consultați eticheta Windows Server pe blogul meu.
Implicit, jurnalele IIS sunt localizate în directorul% SystemDrive% \ inetpub \ logs \ LogFiles. Un semnal pentru curățarea lor poate servi drept un spațiu liber de epuizare rapidă a discului sistemului. În acest caz, administratorii de sistem încep să caute ceea ce ocupă atât de mult spațiu și să săriți în siguranță folderul inetpub, deoarece, în mod implicit, practic nu cântărește nimic:
Dar de ce? Faptul este că inițial nu aveți permisiuni pe subfoldere, prin urmare nu puteți vedea volumul lor real:
Încercați să accesați fiecare subfolder din directorul% SystemDrive% \ inetpub \ logs \ LogFiles. de acord cu numirea permiselor necesare și, în cele din urmă, va vedea că volumul real al dosarelor nu este atât de mic:
Desigur, am exemple de capturi de ecran de pe serverul de testare. Volumul de jurnale de server în producție poate ajunge la zeci și sute de gigaocteți complet liniștit.
Comanda pentru curățarea fișierelor jurnal în acest caz va arăta astfel:
PS C: \ Windows \ system32> gci 'C: \ inetpub \ logs \ LogFiles' -Include '* .log' -Recurata | LastWriteTime-LT (Obțineți-Data) .AddDays (-3) | Eliminați-Articol
În fișierul cmdlet (Get-Date) .AddDays (-3), setați valoarea -3 în loc de -3. -3 indică faptul că toate fișierele mai vechi de trei zile vor fi șterse. Pentru mine, aceasta este valoarea optimă, pentru dvs. poate fi diferită. În producție, vă recomand să lasați cel puțin o săptămână de istorie și dacă permiteți spațiu liber, atunci o lună întreagă nu va fi superfluă.
Creați un cont separat, administratorul nu trebuie să facă acest lucru:
Configurarea computerului \ Setări Windows \ Setări de securitate \ Politici locale \ Alocare drepturi utilizator
Apoi, trebuie să oferiți utilizatorului drepturile asupra directorului% SystemDrive% \ inetpub \ logs \ LogFiles. Destul de citit permisiunile + drepturi de ștergere a fișierelor și dosarelor:
Din nou, deschideți fereastra de atribuire a drepturilor și înlocuiți permisiunile tuturor elementelor copil cu părintele (fără aceasta, nu va funcționa, deoarece moștenirea este dezactivată în acest director):
Următorul pas este să creați o sarcină programată (în argumente, introduceți comanda, care a fost discutată mai sus):
Asigurați-vă că pentru a verifica locul de muncă - face manual și dacă totul a mers bine (a se vedea jurnalul de locuri de muncă.), Pune performanța de 2-3 minute de la ora curentă pentru a verifica modul în care funcționează cu începerea automată. Asigurați-vă că fișierele vechi sunt de fapt șterse.