The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Помогите с ротацией логов от python , !*! westvovik, 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

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

  • Помогите с ротацией логов от python , !*! Andrey Mitrofanov, 11:39 , 29-Июл-15 (1) +1
    > Работаю под 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-а!!!  </...><

  • Помогите с ротацией логов от python , !*! Pahanivo, 13:11 , 29-Июл-15 (3)
    > Ротация происходит но процесс больше не пишет лог

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

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

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

      • Помогите с ротацией логов от python , !*! Pahanivo, 16:30 , 30-Июл-15 (5)
        упс, дико извиняюсь запаметовал по старости лет ...
        там нельзя запустить скрипт, а только указать 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) - суть чтобы килхапать процесс который пишет логи, а не тот который запускает процесс который пишет логи ...




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

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