nixp.ru v3.0

21 октября 2017,
суббота,
07:54:56 MSK

DevOps с компанией «Флант»
Аватар пользователя DimkaS
DimkaS написал 19 июля 2007 года в 10:11 (1034 просмотра) Ведет себя как мужчина; открыл 84 темы в форуме, оставил 922 комментария на сайте.


vectra:/home/dimka# lsof /var/log/mini-httpd.log
COMMAND    PID   USER   FD   TYPE DEVICE   SIZE   NODE NAME
mini-http 1468 nobody    4w   REG    3,6 581663 241753 /var/log/mini-httpd.log

Т.е. демон держит файл открытым. Значит, надо или перезапускать его после ротации или использовать директиву copytruncate. Какой вариант выбрать?

И почему для самбы, например, указано следующее:

/var/log/samba/log.smbd {
        weekly
        missingok
        rotate 7
        postrotate
                invoke-rc.d --quiet samba reload > /dev/null
        endscript
        compress
        notifempty
}

Если я всё правильно понял, то самба будет перезапущена после ротации. Но наверняка будет промежуток между переносом лога и перезапуском. Может получиться так, что какая-то часть данных пропадёт? Не лучше ли останавливать демон перед ротацией и запускать после?

fly4life
DimkaS

vectra:/home/dimka# lsof /var/log/mini-httpd.log
COMMAND    PID   USER   FD   TYPE DEVICE   SIZE   NODE NAME
mini-http 1468 nobody    4w   REG    3,6 581663 241753 /var/log/mini-httpd.log

Т.е. демон держит файл открытым. Значит, надо или перезапускать его после ротации или использовать директиву copytruncate. Какой вариант выбрать?

Любой.

При copytruncate есть риск потерять какую-то часть лога (из-за того, что между копированием и урезанием есть некоторый небольшой промежуток времени). Ну а при перезапуске демона есть риск его недоступности в течение какого-то промежутка времени.

Выбирай на вкус ;).

DimkaS
И почему для самбы, например, указано следующее:

/var/log/samba/log.smbd {
        weekly
        missingok
        rotate 7
        postrotate
                invoke-rc.d --quiet samba reload > /dev/null
        endscript
        compress
        notifempty
}

Если я всё правильно понял, то самба будет перезапущена после ротации. Но наверняка будет промежуток между переносом лога и перезапуском. Может получиться так, что какая-то часть данных пропадёт? Не лучше ли останавливать демон перед ротацией и запускать после?

Каких данных?

DimkaS
Каких данных?

Я про логи. Как в случае с copytruncate. Хотя, это уже не важно.

Выбирай на вкус ;)

Спасибо =)