powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Ротация логов apache и awstats
3 сообщений из 3, страница 1 из 1
Ротация логов apache и awstats
    #33455576
Фотография APM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Необходимо организовать ротацию логов апача, но так чтоб не терять данные для awstats.

Пока что сделал следующее:
1. создал скрипт
Код: plaintext
1.
2.
#!/bin/sh
/path/awstats.pl -update -config=conf
2. добавил в /etc/crontab
Код: plaintext
1.
 10   */ 3    *   *   *  root  /path/script.sh
т.е. теперь каждые 3 часа пересчитывается статистика посещений
3. добавил в newsyslog.conf
Код: plaintext
1.
/path/httpd-access.log   600   30  * @T615  /path/httpd.pid
т.е. каждый день в 6.15 сменить логи, хранить 30 штук, оповестить апач

но тут очень большой минус
1. если агрегация закончится в 6:12 то все клиенты с 6:12 до 6:15 потеряны для статистики
2. если агрегация незакончится до 6:15 - непонятно что будет


вообщем как я понимаю надо подменять логи в самом скрипте откуда awstats дергается, но возникают вопросы как
1. уведомлять апач (подозреваю что kill -1 `cat /path/http.pid`)
2. хранить их в указанном количестве (например 30)

в програмировании в шеле я очень слаб. Не поможете со скриптом?
или может есть какой-нить более простой путь?

p.s.
система freebsd 5.3
...
Рейтинг: 0 / 0
Ротация логов apache и awstats
    #33455579
Фотография APM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#!/bin/sh
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=conf1
SUFF=`date +%Y%m%d_%H%M%S`
ACCOLD=/var/log/httpd-access.log 
ERROLD=/var/log/httpd-error.log
ACC=/var/log/httpd-access.log.$SUFF 
ERR=/var/log/httpd-error.log.$SUFF
mv $ACCOLD $ACC
mv $ERROLD $ERR
touch $ACC
touch $ERR
chown www:www $ACC 
chown www:www $ERR
kill - 1  `cat /var/run/httpd.pid`
bzip2 $ACC
bzip2 $ERR

Попробовал так - вроде работает. Осталось только удалять архивы за прошлый месяц. Не могу что то придумать как...
...
Рейтинг: 0 / 0
Ротация логов apache и awstats
    #33455596
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите порт sysutils/logrotate.
И я бы использовал /usr/local/sbin/apachectl graceful вместо kill -1. Впрочем, в основном потому, что нахожу такой вариант более последовательным.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Ротация логов apache и awstats
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]