Bug 20167

Summary: delete restart from logrotate script
Product: Sisyphus Reporter: Mike Lykov <combr>
Component: sambaAssignee: Evgeny Sinelnikov <sin>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: admaks, mike, serpiph, sin, solo, stalker, vvk
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on: 9884    
Bug Blocks:    

Description Mike Lykov 2009-05-25 10:41:26 MSD
в версии пакета samba-3.0.33-alt1.M40.1

logrotate скрипт содержит такое:

   /var/log/samba/log.* {
    notifempty
    missingok
        size=101k
        sharedscripts
    postrotate
        /sbin/service smb condrestart > /dev/null 2>&1
    endscript
 }

1. service smb condrestart имеет недостатки - например, он разрывает сессии во время рестарта, о чем разговор уже был:
http://lists.altlinux.org/pipermail/samba/2007-September/003440.html

2. в моем случае он странно себя ведет:
во время исполнения logrotate он стопит
May 25 00:25:01 samba smb: CIFS shutdown succeeded

но потом больше не стартует, что приводит к
# service smb status
smbd is running
nmbd is stopped

(nmbd остановился, а smbd стартовым скриптом при condrestart не останавливается).

об этом тоже писали: 
http://lists.altlinux.org/pipermail/samba/2009-March/004203.html

причем предложение из этой ветки использовать kill -HUP тоже не подходит для nmbd : https://bugzilla.redhat.com/show_bug.cgi?id=171536

3. в результате всего этого я согласен с предложением использовать copytruncate опцию для logrotate, как например сделано в fedora.


4. указание size=101k меня смущает - при начальной отладке после установки этот обьем может набраться за несколько минут. может, стоит перейти на обычную схему ротации по времени?
Comment 1 Vladimir V. Kamarzin 2009-05-26 09:13:53 MSD
Ага, я тоже наступил на отваливающуюся по воскресениям samba ;)
Comment 2 Alexander Bokovoy 2009-05-27 08:31:16 MSD
Предложите свой logrotate в виде приложения к этой ошибке.
Comment 3 Mike Lykov 2009-05-27 10:52:09 MSD
предлагаю

   /var/log/samba/log.* {
    notifempty
    missingok
    copytruncate
 }

нашел еще последствие- маска log.* включает так же и log.winbind, убирает у него лог, но сам winbind об этом не знает, поэтому во вновь созданнй лог ничего не пишет.
smb condrestart не трогает сервис winbind.

предлагаемое и это исправить должно.
Comment 4 ReMaks 2009-08-25 23:50:44 MSD
(В ответ на комментарий №3)
> предлагаю
> 
>    /var/log/samba/log.* {
>     notifempty
>     missingok
>     copytruncate
>  }
> 
> нашел еще последствие- маска log.* включает так же и log.winbind, убирает у
> него лог, но сам winbind об этом не знает, поэтому во вновь созданнй лог ничего
> не пишет.
> smb condrestart не трогает сервис winbind.
> 
> предлагаемое и это исправить должно.

может в дефолтный конфиг самбы это "внедрить"?
Comment 5 Alexander Bokovoy 2009-08-26 08:38:16 MSD
Я добавлю. Проблемы сборки на текущем тулчейне я уже поборол, в субботу будет возможность пересобрать.
Comment 6 serpiph 2009-08-30 01:19:29 MSD
Если вспомнить, то к ней примешивается бага #9884.
Comment 7 Vitaly Kuznetsov 2010-05-29 01:28:03 MSD
В samba-3.4.8, попавшей в Сизиф, logrotate не делает condrestart.