- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
здравствуйте
устраивал ротацию логов по связке из САБЖА
пишу в newsyslog.conf
/home/satellites/http_logs/*/error_log root:wheel 644 7 * @T19 GNWJB
*****************
/home/site1/access_log root:wheel 644 7 * @T19 GNWJB
/home/site2/error_log root:wheel 644 7 * @T19 GWJB /var/run/httpd.pid 30
суть в том, что апач перегружается после того как все логи прокрутились. можно ли так делать? там порядка сотни виртуальных хостов, время от первого до последнего лога будет приличное. апач по любому попытается начать писать в один из логов, после того, как он прокрутился и до того, как апач перегрузится.
вопрос в том, правильно ли я делаю...?
или как было бы правильно?
если тупою, не пинайте :)
интересует связка Apache 1.3 - newsyslog
здравствуйте
интересует связка Apache 1.3 - newsyslog
Правильно.
Не надо путать "перегрузится", и "переоткроет логи".
поставил на сервер. ротанулось... логи вообще перестали писаться... до перезагрузки апача apachectl graceful. естественно в логах пусто :) цитировать нечего
подскажите, кто знает
/var/run/httpd.pid 30
Если мне не изменяет склероз, вы посылаете апачу SIGUSR1, а надо бы SIGHUP.
Если мне не изменяет склероз, вы посылаете апачу SIGUSR1, а надо бы SIGHUP.
SIGUSR1 - это для апача graceful (он перечитает конфиги, и не сбросит текущие соединения)
SIGHUP - restart (выгрузится и загрузится снова. все соединения оборвутся)
я так понял, что мне надо именно graceful (SIGUSR1 или 30)
я так понял, что мне надо именно graceful (SIGUSR1 или 30)
Apache HOWTO documentation (/usr/local/share/doc/apache/misc/howto.html):
Sooner or later, you'll want to reset your log files (access_log and error_log) because they are too big, or full of old information you don't need.
access.log typically grows by 1Mb for each 10,000 requests.
Most people's first attempt at replacing the logfile is to just move the logfile or remove the logfile. This doesn't work.
Apache will continue writing to the logfile at the same offset as before the logfile moved. This results in a new logfile being created which is just as big as the old one, but it now contains thousands (or millions) of null characters.
The correct procedure is to move the logfile, then signal Apache to tell it to reopen the logfiles.
Apache is signaled using the SIGHUP (-1) signal. e.g.
mv access_log access_log.old
kill -1 `cat httpd.pid`
Note: httpd.pid is a file containing the process id of the Apache httpd daemon, Apache saves this in the same directory as the log files.
Many people use this method to replace (and backup) their logfiles on a nightly or weekly basis.
я немного смущен...
http://httpd.apache.org/docs/1.3/logs.html#rotation
http://httpd.apache.org/docs/1.3/misc/howto.html#logreset
сейчас попробую второй способ...
Поглядел на реакцию апача, получившего два разных пинка:
kill -HUP `cat /var/run/httpd.pid`
kill -USR1 `cat /var/run/httpd.pid`
В обоих случаях меняются PID-ы дежурных чилдренов и дескрипторы лог-файлов.
В обоих случаях пересоздаются удаленные логи.
В исходники не полез, ибо лень и пофик. :)
Разница в запросах, обрабатываемых в момент получения сигнала. USR1 - завершить процесс по окончании обработки запроса, HUP - завершить процесс сразу, прервав обработку запросов.
Разница в запросах, обрабатываемых в момент получения сигнала. USR1 - завершить процесс по окончании обработки запроса, HUP - завершить процесс сразу, прервав обработку запросов.
Все верно. Попробовал во время закачки большого файла. HUP сбросил соединение reset'ом, а USR1 этого не делал. Оба переоткрыли логи немедленно, по получении сигнала.
Оба переоткрыли логи немедленно, по получении сигнала.
То есть как? Который большой файл качал - прямо не прерывая кач - переоткрыл лог? Так ловко по-моему только nginx умеет. Апач при USR1 должен был последнюю запись в старый файл отправить.