„Linux“ paskirstymai idealiai tinka bet kokio tipo verslo aplinkai, nes jie gali prisitaikyti prie naujų funkcijų ir naujų vaidmenų, o geriausia - nemokamai dėl atviro kodo.
Turime tūkstančius programų ar paslaugų, skirtų centralizuotai valdyti visus sistemos aspektus ir tokiu būdu, kaip administratoriai ar IT darbuotojai, tiksliai žinome, kada įvyksta gedimas, ir žinome, kaip ją išspręsti.
Šiame plačiame spektre mes randame „Logrotate“, kuris yra platinimo įrankis, o jo funkcija yra žurnalo failų sukimas ir suspaudimas.
Ši užduotis yra svarbi, nes nesiimant jokių veiksmų su šiais failais gali būti paveikta vieta kietajame diske, todėl gali atsirasti kitų tipų bendrų klaidų.
Šiuo atveju naudosime „Ubuntu 17.10“, o „Logrotate“ yra įdiegta pagal numatytuosius nustatymus ir jau sukonfigūruota valdyti visų įdiegtų paketų, įskaitant rsyslog, numatytąjį sistemos žurnalo procesorių, žurnalo sukimosi užduotis.
Toliau pamatysime, kaip įdiegti ir naudoti šią vertingą priemonę.
1. Nustatykite „Logrotate“ įdiegtos „Linux“ versiją
Pirmiausia reikia išsamiai žinoti, kurią „Logrotate“ versiją turime šiuo atveju „Ubuntu 17.10“. Norėdami tai padaryti, vykdome šią komandą:
logrotate -versijaRezultatas bus toks:
DIDELIS
Jei „Logrotate“ neįdiegta, gausime klaidą. Įrankį galime įdiegti naudodami naudojamo „Linux“ platinimo paketų tvarkyklę.
Jei „Logrotate“ yra įdiegta, tačiau versijos numeris labai skiriasi, gali kilti problemų dėl kai kurių programos nustatymų. Konkrečios „Logrotate“ versijos dokumentaciją galime peržiūrėti tiesiogiai jos vadove:
vyras sukasiMes galime pamatyti numatytąją „Logrotate“ konfigūracijos struktūrą „Linux“ distribucijoje:
DIDELIS
2. „Logrotate Linux“ konfigūracija
„Logrotate“ konfigūracijos informaciją „Ubuntu“ atveju paprastai galima rasti dviejose vietose:
etc / logrotate.confŠiame faile yra keletas numatytųjų nustatymų ir nustatomas kai kurių žurnalų, kurie nepriklauso jokiam sistemos paketui, sukimas. Jis taip pat naudoja įtraukimo teiginį, kad gautų nustatymus iš bet kurio failo kataloge /etc/logrotate.d.
/etc/logrotate.d/Šiame kataloge yra bet koks mūsų įdiegtas paketas, kuriam reikia pagalbos dėl žurnalo pasukimo, jo „Logrotate“ konfigūracijos. Įprastame diegime čia jau turėtų būti failų, skirtų pagrindiniams sistemos įrankiams, tokiems kaip apt, dpkg, rsyslog ir kt.
Pagal numatytuosius nustatymus logrotate.conf sukonfigūruos savaitės žurnalų apsisukimus (kas savaitę), kai žurnalo failai priklausys root vartotojui ir syslog grupei (su root syslog), keturi žurnalo failai bus saugomi (pasukti 4) ir nauji failai bus sukurti tušti įrašus. sukurtas pasukus srovę (sukurti).
Mes galime pasiekti paketo „Logrotate“ konfigūracijos failą /etc/logrotate.d naudodami katės įrankį:
katė /etc/logrotate.d/apt
DIDELIS
Šiame faile yra dviejų skirtingų žurnalo failų konfigūracijos blokai / var / log / apt / kataloge: term.log ir history.log. Jie abu turi tas pačias galimybes.
Bet kuri parinktis, nenustatyta šiuose konfigūracijos blokuose, paveldės numatytas reikšmes arba tas, kurios nustatytos /etc/logrotate.conf. Tinkamų žurnalų parinktys yra šios:
pasukti 12Išsaugo dvylika senų žurnalo failų.
MėnesioPasukite kartą per mėnesį.
SuspaustiJis rūpinasi pasuktų failų suspaudimu. Tai naudoja „gzip“ pagal numatytuosius nustatymus ir sukelia failus, kurie baigiasi .gz plėtiniu. Suspaudimo komandą galima pakeisti naudojant „compresscmd“ parinktį.
missingokJis nerašo klaidos pranešimo, jei trūksta žurnalo failo.
notifikuotasJis nesuka žurnalo failo, jei jis tuščias.
Yra daug daugiau konfigūracijos parinkčių.
3. Konfigūruokite „Linux Logrotate“ paslaugą ir pridėkite konfigūraciją į /etc/logrotate.d/
Tada sukonfigūruosime konfigūracijos failą, kad jis tvarkytų mūsų sukurtos paslaugos žurnalus.
Norėdami valdyti programų, kurios nėra iš anksto supakuotų ir iš anksto sukonfigūruotų sistemos paslaugų, žurnalų failus, turime dvi parinktis:
- Sukurkite naują „Logrotate“ konfigūracijos failą ir įdėkite jį į kelią /etc/logrotate.d/. Tai bus vykdoma kasdien kaip pagrindinis vartotojas kartu su visomis kitomis standartinėmis „Logrotate“ užduotimis.
- Sukurkite naują konfigūracijos failą ir paleiskite jį už numatytosios „Ubuntu“ „Logrotate“ konfigūracijos ribų. Tai būtina tik tuo atveju, jei mums reikia paleisti „Logrotate“ kaip ne root vartotojas arba jei norite pasukti žurnalus dažniau nei kasdien (valandinis nustatymas /etc/logrotate.d/ nebūtų efektyvus, nes sistemos „Logrotate“ nustatymas važiuoja tik kartą per dieną).
Tokiu atveju norime sukonfigūruoti žiniatinklio serverio žurnalo pasukimą, kuris įkelia „access.log“ ir „error.log“ į kelią / var / log / solvetic-app /. Jis veiks kaip www-duomenų vartotojas ir grupė.
Norėdami pridėti tam tikrą konfigūraciją prie /etc/logrotate.d/, pirmiausia turime atidaryti naują failą taip:
sudo nano /etc/logrotate.d/solvetic-appten pridėsime šias eilutes:
/var/log/solvetic-app/ ****
DIDELIS
Pakeitimus galime išsaugoti naudodami klavišų kombinaciją Ctrl + O, o iš redaktoriaus išeiname naudodami Ctrl + X.
Kai kurios naujos failo konfigūravimo direktyvos yra šios:
sukurti 0640 www-duomenys www-duomenysŠis parametras sukdamas sukuria naują tuščią žurnalo failą su nurodytais leidimais (0640), savininku (www-data) ir grupe (taip pat www-data).
bendrinami scenarijaiŠi vėliava rodo, kad scenarijai, pridėti prie konfigūracijos, vykdomi tik vieną kartą, o ne kiekvienam pasukamam failui.
pasukti iki galoŠiame bloke yra scenarijus, kuris bus paleistas pasukus žurnalo failą. Tokiu atveju galime iš naujo įkelti savo solvetinę programą. Kartais to reikia, kad programa persijungtų į naujai sukurtą žurnalo failą.
Prieš tikrindami žurnalus, turime atsižvelgti į įvykdytus potrotatinius veiksmus. Glaudinimas gali užtrukti ilgai ir programinė įranga turėtų nedelsiant pereiti prie naujo žurnalo failo. Užduotims, kurios turi būti vykdomos suglaudinus įrašus, naudokite „lastaction“ bloką.
Pritaikę konfigūraciją, kuri geriausiai atitinka mūsų poreikius ir buvo išsaugota /etc/logrotate.d, galime ją patikrinti vykdydami šią eilutę.
sudo logrotate /etc/logrotate.conf -debugTai iškviečia logrotate, nurodo į standartinį konfigūracijos failą ir įjungia derinimo režimą:
DIDELIS
Informacija apie tai, kuriuos žurnalo failus „Logrotate“ tvarko ir ką jie vykdo, bus atspausdinta. Jei viskas atrodo gerai, mes baigėme. Standartinė „Logrotate“ užduotis bus vykdoma kartą per dieną ir apims naujus nustatymus.
4. Kaip sukurti atskirą registravimo konfigūracijos logratą „Linux“
Pirma, mes sukursime konfigūracijos failą savo namų kataloge. Mes galime jį atidaryti naudodami teksto redaktorių:
sudo nano /home/solvetic/logrotate.confĮ naują failą įklijuosime:
/home/solvetic/logs/*.log {valandinis missingok rotate 24 kompresas create}
DIDELIS
Galime išsaugoti pakeitimus ir išeiti iš failo.
Šis nustatymas kas valandą pasuks failus, suglaudins ir išsaugos dvidešimt keturis senus įrašus ir sukurs naują žurnalo failą, kuris pakeis pasuktą failą. Norėdami patikrinti, ar jis veikia tinkamai, galime sukurti žurnalo failą vykdydami šias eilutes:
cd ~ sudo mkdir registruoja sudo touch logs / access.log
DIDELIS
Dabar, kai reikiamoje vietoje turime tuščią žurnalo failą, paleisime komandą logrotate.
Mes vykdysime šiuos veiksmus:
logrotate /home/solvetic/logrotate.conf --state / home / solvetic / logrotate -state -verbose
DIDELIS
Parametras --verbose išspausdins išsamią informaciją apie tai, ką mes naudojame su „Logrotate“. Šiuo atveju pamatysime, kad niekas nesisuko. Tai pirmas kartas, kai „Logrotate“ mato šį žurnalo failą, ir, kaip žinome, failas yra nulio valandų senumo ir neturėtų būti pasuktas.
Jei pažvelgsime į būsenos failą, pamatysime, kad „Logrotate“ įrašė tam tikrą informaciją apie mūsų atliktą vykdymą:
katė / namai / solvetiška / logotato būsenaPamatysime šiuos dalykus:
DIDELIS
„Logrotate“ atkreipė dėmesį į išanalizuotus įrašus ir kada paskutinį kartą juos svarstė rotacijai. Jei tą pačią komandą vykdysime po valandos, įrašas bus pasuktas, kaip numatyta. Jei norite priversti „Logrotate“ pasukti žurnalo failą, kai kitaip neturėtų būti, galime naudoti vėliavą --force:
sudo logrotate /home/solvetic/logrotate.conf --state / home / solvetic / logrotate -state --verbose -force
5. Suplanuotos užduoties kūrimas naudojant „Linux“
Galiausiai turime sukonfigūruoti „cron“ užduotį, kad „Logrotate“ būtų paleista kas valandą. Norėdami tai padaryti, atidarome savo vartotojo crontab, atlikdami šiuos veiksmus:
crontab -eAtidarytame faile pridėsime šią eilutę:
14 * * * * / usr / sbin / logrotate /home/solvetic/logrotate.conf --state / home / solvetic / logrotate-state
DIDELIS
Ši užduotis bus vykdoma kiekvieną valandą 14 -ą minutę kiekvieną dieną. Tai iš esmės veikia su ta pačia logrotate komanda, kurią vykdėme anksčiau, nors išplėtėme logrotate iki viso / usr / sbin / logrotate kelio. Mes galime išsaugoti failą naudodami klavišų kombinaciją Ctrl + O ir išeiti iš jos naudodami Ctrl + X.
Taigi mes matėme, kaip „Logrotate“ yra paprasta, bet efektyvi priemonė, kai reikia valdyti ir valdyti įrašus bet kuriame „Linux“ platinime.