Как да управлявате регистрационните файлове на Linux с Achieve

Дистрибуциите на Linux са идеални за всеки тип корпоративна среда благодарение на способността им да се адаптират към нови функции и нови роли и най -вече безплатно благодарение на отворения код.

Имаме хиляди приложения или помощни програми, предназначени за централизиран контрол върху всички аспекти на системата и по този начин, като администратори или ИТ персонал, знаят със сигурност кога възниква грешка и знаят как да го разрешат.

В рамките на този широк спектър от възможности откриваме Logrotate, който е помощна програма за разпространението и неговата функция е въртенето и компресирането на лог файловете.

Тази задача е важна, тъй като, като не предприемате никакви действия с тези файлове, пространството на твърдия диск може да бъде засегнато, което води до други видове общи грешки.

За този случай ще използваме Ubuntu 17.10 и Logrotate е инсталиран по подразбиране и вече е конфигуриран да управлява задачите за завъртане на дневника на всички инсталирани пакети, включително rsyslog, процесора на системния дневник по подразбиране.

След това ще видим как да инсталираме и използваме тази ценна помощна програма.

1. Определете версията на инсталирания на Logrotate Linux


Първата стъпка, която трябва да предприемете, е да знаете подробно коя версия на Logrotate имаме в този случай Ubuntu 17.10. За целта изпълняваме следната команда:
 logrotate -версия
Резултатът ще бъде следният:

Увеличете

Ако Logrotate не е инсталиран, ще получим грешка. Можем да инсталираме инструмента с помощта на мениджъра на пакети на използваната дистрибуция на Linux.

Ако Logrotate е инсталиран, но номерът на версията е значително различен, може да имаме проблеми с някои от настройките на помощната програма. Можем да се консултираме с документацията на конкретната версия на Logrotate директно в неговата страница за управление:

 човек лоротирай
Можем да видим конфигурационната структура по подразбиране на Logrotate в дистрибуцията на Linux:

Увеличете

2. Logrotate конфигурация на Linux


Информацията за конфигурацията на Logrotate обикновено може да бъде намерена на две места в случая с Ubuntu:

etc / logrotate.confТози файл съдържа някои настройки по подразбиране и задава завъртане за някои регистрационни файлове, които не са собственост на нито един системен пакет. Той също така използва оператор include за получаване на настройки от всеки файл в директорията /etc/logrotate.d.

/etc/logrotate.d/Тази директория е мястото, където всеки пакет, който инсталираме и се нуждаем от помощ с ротацията на дневника, ще постави конфигурацията си Logrotate. При стандартна инсталация тук вече трябва да съществуват файлове за основни системни инструменти, като apt, dpkg, rsyslog и др.

По подразбиране, logrotate.conf ще конфигурира седмичните ротации на дневника (седмично), с лог файлове, собственост на root потребителя и групата syslog (su root syslog), с четири лог файла, които се съхраняват (завъртане 4) и новите файлове се създават празни записи. създаден след завъртане на тока (създаване).

Можем да получим достъп до конфигурационния файл Logrotate на пакет в /etc/logrotate.d с помощта на помощната програма cat:

 cat /etc/logrotate.d/apt

Увеличете

Този файл съдържа конфигурационни блокове за два различни регистрационни файла в директорията / var / log / apt /: term.log и history.log. И двамата имат еднакви възможности.

Всяка опция, която не е зададена в тези конфигурационни блокове, ще наследи стойностите по подразбиране или тези, зададени в /etc/logrotate.conf. Опциите, конфигурирани за apt logs, са:

завъртете 12Запазва дванадесет стари регистрационни файла.

МесечноЗавъртайте веднъж месечно.

КомпресирайтеТой се грижи за компресирането на завъртаните файлове. Това използва gzip по подразбиране и води до файлове, завършващи с разширението .gz. Командата за компресиране може да бъде променена с помощта на опцията compresscmd.

missingokТой не пише съобщение за грешка, ако лог файлът липсва.

уведоменТой не завърта регистрационния файл, ако е празен.

Налични са още много опции за конфигуриране.

3. Конфигурирайте услуга за Linux Logrotate и добавете конфигурация към /etc/logrotate.d/


След това ще конфигурираме конфигурационен файл, който да обработва регистрационните файлове на услуга, която ще създадем.

За да управляваме регистрационните файлове за приложения извън предварително опакованите и предварително конфигурирани системни услуги, имаме две възможности:

  • Създайте нов конфигурационен файл Logrotate и го поставете в пътя /etc/logrotate.d/. Това ще се изпълнява ежедневно като root потребител заедно с всички други стандартни задания Logrotate.
  • Създайте нов конфигурационен файл и го стартирайте извън стандартната конфигурация на Logrotate на Ubuntu. Това е необходимо само ако трябва да стартираме Logrotate като потребител без root, или ако искате да въртите регистрационните файлове по-често от ежедневно (почасовата настройка в /etc/logrotate.d/ не би била ефективна, тъй като настройката на Logrotate на системата работи само веднъж на ден).

В този случай искаме да конфигурираме ротацията на регистрационния файл за уеб сървър, който поставя access.log и error.log в пътя / var / log / Solvetic-app /. Той ще работи като потребител и група www-data.

За да добавим някаква конфигурация към /etc/logrotate.d/, първо трябва да отворим нов файл, както следва:

 sudo nano /etc/logrotate.d/solvetic-app
там ще добавим следните редове:
 /var/log/solvetic-app/ ****

Увеличете

Можем да запазим промените, като използваме комбинацията от клавиши Ctrl + O и излизаме от редактора, използвайки Ctrl + X.

Някои от новите директиви за конфигуриране в този файл са:

създайте 0640 www-данни www-данниТози параметър създава нов празен регистрационен файл след завъртане, с посочените разрешения (0640), собственик (www-data) и група (също www-data).

споделени скриптовеТози флаг показва, че скриптове, добавени към конфигурацията, се изпълняват само веднъж на цикъл, а не за всеки завъртян файл.

postrotate до краяТози блок съдържа скрипт за изпълнение след завъртане на лог файла. В този случай можем да презаредим решението си. Това понякога е необходимо, за да премине приложението към новосъздадения лог файл.

Трябва да отчетем изпълненията на postrotate, преди да се проверят регистрационните файлове. Компресирането може да отнеме много време и софтуерът трябва незабавно да премине към новия лог файл. За задачи, които трябва да се изпълняват след компресиране на записите, използвайте вместо това блока lastaction.

След като персонализираме конфигурацията, която най -добре отговаря на нашите нужди и те са записани в /etc/logrotate.d, можем да я проверим, като изпълним следния ред.

 sudo logrotate /etc/logrotate.conf -debug
Това извиква logrotate, сочи стандартния конфигурационен файл и активира режима за отстраняване на грешки:

Увеличете

Ще се отпечата информация за това с какви лог файлове работи Logrotate и какво се изпълнява върху тях. Ако всичко изглежда добре, сме готови. Стандартното задание Logrotate ще се изпълнява веднъж на ден и ще включва новите ви настройки.

4. Как да създадете самостоятелна конфигурация за регистриране Lograte Linux


Първо, ние ще създадем конфигурационен файл в нашата домашна директория. Можем да го отворим с текстов редактор:
 sudo nano /home/solvetic/logrotate.conf
В новия файл ще поставим следното:
 /home/solvetic/logs/*.log {почасово липсващо завъртане 24 компресиране създаване}

Увеличете

Можем да запазим промените и да излезем от файла.

Тази настройка ще завърта файловете на всеки час, компресирайки и запазвайки двадесет и четири стари записа и създавайки нов лог файл, който да замени завъртания файл. За да проверим дали работи правилно, можем да създадем лог файл, като изпълним следните редове:

 cd ~ sudo mkdir регистрационни файлове sudo touch logs / access.log

Увеличете

Сега, когато имаме празен лог файл на правилното място, ще изпълним командата logrotate.
Ще изпълним следното:

 logrotate /home/solvetic/logrotate.conf --state / home / Solvertic / logrotate -state -verbose

Увеличете

Параметърът --verbose ще отпечата подробна информация за това, което изпълняваме с Logrotate. В този случай ще видим, че нищо не се върти. Това е първият път, когато Logrotate вижда този лог файл и както знаем, файлът е на нула часове и не трябва да се завърта.

Ако разгледаме файла със състоянието, ще видим, че Logrotate е записал определена информация за изпълнението, което извършихме:

 cat / home / Solvertic / logrotate-state
Ще видим следното:

Увеличете

Logrotate отбеляза записите, които анализира и кога за последно ги разгледа за ротация. Ако изпълним същата команда час по -късно, записът ще се завърти по предназначение. Ако искате да принудите Logrotate да завърти регистрационния файл, когато не би трябвало по друг начин, можем да използваме флага --force:

 sudo logrotate /home/solvetic/logrotate.conf --state / home / Solvertic / logrotate -state --verbose -force

5. Създаване на планирана задача за постигане на Linux


И накрая, трябва да конфигурираме cron работа, за да изпълнява Logrotate на всеки час. За да направите това, отваряме crontab на потребителя, като изпълним следното:
 crontab -е
В отворения файл ще добавим следния ред:
 14 * * * * / usr / sbin / logrotate /home/solvetic/logrotate.conf --state / home / Solvetic / logrotate-state

Увеличете

Тази задача ще се изпълнява на 14 -ата минута на всеки час, всеки ден. По принцип работи със същата команда logrotate, която изпълнихме по -рано, въпреки че разширихме logrotate до пълния път на / usr / sbin / logrotate. Можем да запишем файла с помощта на клавишната комбинация Ctrl + O и да го излезем с Ctrl + X.

Така видяхме как Logrotate е проста, но ефективна помощна програма, когато става въпрос за управление и контрол на записи във всяка Linux дистрибуция.

wave wave wave wave wave