The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Помогите с ротацией логов от python "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Помогите с ротацией логов от python "  +/
Сообщение от westvovik email(??) on 29-Июл-15, 11:04 
Работаю под FreeBSD

Есть скрипт на python запускается из /usr/local/etc/rc.d/

#!/bin/sh

    case "$1" in

    start)
        su pgsql -c '/usr/local/bin/python /usr/local/etc/pgqd/sqlrunner.py /usr/local/etc/pgqd/sqlrunner.conf &'
        ;;
    stop)
        pkill -f python /usr/local/etc/pgqd/sqlrunner.py /usr/local/etc/pgqd/sqlrunner.conf
        ;;
    restart)
        pkill -f python /usr/local/etc/pgqd/sqlrunner.py /usr/local/etc/pgqd/sqlrunner.conf
        su pgsql -c '/usr/local/bin/python /usr/local/etc/pgqd/sqlrunner.py /usr/local/etc/pgqd/sqlrunner.conf &'

        ;;
    *)
        echo " Usage: `basename $0` {start|stop}" >&2
        exit 64
        ;;
    esac


после запуска создается pid файл /var/run/pgqd/ id процесса

Вот строчка из newsyslog

/var/log/pgqd/sql_runner.log  pgsql:pgsql 644 7 * @T00 Z /var/run/pgqd/sql_runner.pid

Ротация происходит но процесс больше не пишет лог

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Помогите с ротацией логов от python "  +1 +/
Сообщение от Andrey Mitrofanov on 29-Июл-15, 11:39 
> Работаю под FreeBSD
> Есть скрипт на python запускается из /usr/local/etc/rc.d/
> Ротация происходит но процесс больше не пишет лог

Покайтеся, грешники! Ибо Конец близок.

Пишите ваши демоны, чтоб они писали логи на stderr (http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/uni... со слов "Write your log output to standard error,"), и обуздайте ваших демонов runit-ом или daemontools-ом. Отрекитесь от поганого logrotate-а и syslog-а!!!  </...><

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Помогите с ротацией логов от python "  +/
Сообщение от Pahanivo (ok) on 29-Июл-15, 13:08 
Ерись глаголишь сын мой! Постыдно и богохульно!

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Помогите с ротацией логов от python "  +/
Сообщение от Pahanivo (ok) on 29-Июл-15, 13:11 
> Ротация происходит но процесс больше не пишет лог

естественно, сислога файл закрыла (текущий) и новый открыла.
тут либо kill HUP делать, либо на уровне скрипта решать, либо как наш уважаемый чуть выше глаголит ))
можно и самим newsyslog делать "/usr/local/etc/rc.d/pgsql.sh restart" после ротации

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Помогите с ротацией логов от python "  +/
Сообщение от westvovik email(ok) on 30-Июл-15, 11:46 
>> Ротация происходит но процесс больше не пишет лог
> естественно, сислога файл закрыла (текущий) и новый открыла.
> тут либо kill HUP делать, либо на уровне скрипта решать, либо как
> наш уважаемый чуть выше глаголит ))
> можно и самим newsyslog делать "/usr/local/etc/rc.d/pgsql.sh restart" после ротации

Грешен каюсь, а как мне через newsyslog сделать рестарт /usr/local/etc/rc.d/pgsql.sh restart, пример строки приведите еретику неграмотному?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Помогите с ротацией логов от python "  +/
Сообщение от Pahanivo (ok) on 30-Июл-15, 16:30 
упс, дико извиняюсь запаметовал по старости лет ...
там нельзя запустить скрипт, а только указать pid файл по которому newsyslog сделает kill HUP.
тыкс ...
можно сделать так - написать скрипт ротации (допихать секцию в тот же /usr/local/etc/rc.d/pgsql.sh) и назвать ее скажет rotate.
с самой секции в ручную сделать ротацию, запустиь /usr/local/etc/rc.d/pgsql.sh restart, потом по необходимости заняться архивированием.
все это пихаем в крон /usr/local/etc/rc.d/pgsql.sh rotate

или попробовать использовать тут:
/var/log/pgqd/sql_runner.log  pgsql:pgsql 644 7 * @T00 Z /var/run/pgqd/sql_runner.pid
файл /var/run/pgqd/id (если это не тотже самый /var/run/pgqd/sql_runner.pid) - суть чтобы килхапать процесс который пишет логи, а не тот который запускает процесс который пишет логи ...

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру