Увод
Инсталација
Разумевање Логротата
Управљање евиденцијама
Закључак
Увод
Логротате је Линук услужни програм који поједностављује администрацију датотека евиденције. Обично се покреће једном дневно преко црон посла и управља евиденцијама на основу прилагођених правила/подешавања из своје конфигурационе датотеке.
Нека од његових корисних подешавања укључују аутоматску ротацију, компресију, уклањање и слање датотека евиденције.
Инсталација
Већина Линук система долази са подразумевано инсталираним Логротате-ом. Проверите да ли сте га инсталирали на Вултр инстанци тако што ћете издати logrotateкоманду. Видећете излаз са верзијом Логротате-а коју ваш сервер ради.
Ако га немате инсталиран, извршите доле наведене кораке да бисте наставили са инсталацијом.
На Дебиан/Убунту системима:
sudo apt-get update
sudo apt-get install logrotate
На Редхат/ЦентОС системима:
sudo yum update
sudo yum install logrotate
Разумевање Логротата
Покретни делови који чине да се логоротирају су:
Прави алат logrotate.
Конфигурациона датотека Логротате-а која се налази на /etc/logrotate.conf. Ова датотека садржи конфигурацију за све датотеке евиденције којима Логротате управља.
Дневни црон посао /etc/cron.daily/logrotateкоји издаје наредбу логротате за покретање на основу подешавања у својој конфигурационој датотеци. Ако овај црон посао не постоји на вашем систему, креирајте га и додајте исечак кода испод.
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
Више о конфигурацији
Ако завирите унутра /etc/logrotate.conf, видећете да има црту include /etc/logrotate.dу себи. Оно што ова линија ради је да каже Логротате-у да погледа унутар /etc/logrotate.dдиректоријума и покрене сваку конфигурациону датотеку у њему. Овај директоријум је обично место где апликације инсталиране на вашем линук систему додају своје логротате конфигурације. На пример, Апацхе2 обично креира /etc/logrotate.d/apacheконфигурациону датотеку након инсталације.
Управљање евиденцијама
Да бисмо тестирали Логротате, ми ћемо:
Креирајте нову датотеку евиденције теста са 1 МБ или насумичним подацима:
sudo base64 /dev/urandom | head -c 1000000 > /tmp/testfile.log
Креирајте нову конфигурацију Логротате тако што ћете покренути sudo nano /etc/logrotate.d/testlog. Копирајте следећи исечак у празну датотеку и притисните Цтрл + Кс да бисте сачували и изашли.
/tmp/testfile.log {
size 1k
copytruncate
missingok
rotate 5
}
Опције конфигурације у исечку изнад упућују Логротате да:
size 1k: Rotate log file if size is greater than or equal to 1k.
missingok: Ignore error messages if testfile.log does not exist.
copytruncate: Create a copy of current log file and then truncate it. This comes in handy when an application cannot close its log file because it continuously appends to it.
rotate 5: limit the number of log file rotations to 5. This will delete old versions of log files greater than 5 days.
НАПОМЕНА: Све опције конфигурације за логоротацију можете видети овде .
Ручно покрените наредбу Логротате:
sudo logrotate /etc/logrotate.conf
Након покретања горње команде, наведите све датотеке у тмп директоријуму ls -l /tmpда бисте потврдили да је тестфиле.лог заиста ротиран. Требало би да видите списак сличан следећем који показује да testfile.logје заиста ротиран. Ово ће се наставити сваки дан и задржати најновијих 5 примерака.
[root@vultr ~]# ls -l /tmp
-rw-r--r-- 1 root root 0 Nov 14 23:31 testfile.log
-rw-r--r-- 1 root root 1000000 Nov 14 23:30 testfile.log-20141114
-rw-r--r-- 1 root root 634 Nov 10 00:23 vultr_ipv6
-rw-------. 1 root root 0 Oct 15 20:44 yum.log
Закључак
Дневници могу брзо да направе проблеме на серверу тако што постану превелики и изазову проблеме са простором на диску. Управљање евиденцијама је кључно за сваки систем, али још боље је аутоматизација овог управљања. Логротате олакшава ротирање, архивирање и брисање дневника.
Написао Лами Адабониан