Ротация логов apache хостинг freebsd
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- wien
- сержант
- Сообщения: 151
- Зарегистрирован: 2014-06-26 18:38:44
- Откуда: DafaultCity
- Контактная информация:
Ротация логов apache хостинг freebsd
Всем здравым - мира!
Имеется скромный сервер веб хостинга под FreeBSD 9.3. Использую Apache 2.2 + MySQL 5.6 + fastcgi.
Структура папок каждого пользователя выглядит следующим образом:
www - файлы веб проектов данного юзера;
cgi-bin - враппер и настройки пхп;
tmp - файлы сессий и всякая хня;
log - логи апача access.log и error.log (о них и пойдет речь далее).
Файлы логов со временем растут, хотелось бы организовать правильную ротацию. Ротация остальных логов у меня настроена /etc/newsyslog.conf. Есть ли у кого готовые решения (скрипты или конфиги) для ротации логов на хостинге? Вопрос задаю не просто так. Поскольку при вышеобозначенной связке каждый сайт "запущен" от собственного пользователя, возможно есть какие-то нюансы.
Буду признателен за любую информацию.
Имеется скромный сервер веб хостинга под FreeBSD 9.3. Использую Apache 2.2 + MySQL 5.6 + fastcgi.
Структура папок каждого пользователя выглядит следующим образом:
www - файлы веб проектов данного юзера;
cgi-bin - враппер и настройки пхп;
tmp - файлы сессий и всякая хня;
log - логи апача access.log и error.log (о них и пойдет речь далее).
Файлы логов со временем растут, хотелось бы организовать правильную ротацию. Ротация остальных логов у меня настроена /etc/newsyslog.conf. Есть ли у кого готовые решения (скрипты или конфиги) для ротации логов на хостинге? Вопрос задаю не просто так. Поскольку при вышеобозначенной связке каждый сайт "запущен" от собственного пользователя, возможно есть какие-то нюансы.
Буду признателен за любую информацию.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Amadeus
- ст. сержант
- Сообщения: 332
- Зарегистрирован: 2008-10-05 12:42:44
- Откуда: Kiev
Ротация логов apache хостинг freebsd
Эм.., а user:group в newsyslog в этом случае не подойдет? Там же элементарно всеwien писал(а): Файлы логов со временем растут, хотелось бы организовать правильную ротацию. Ротация остальных логов у меня настроена /etc/newsyslog.conf. Есть ли у кого готовые решения (скрипты или конфиги) для ротации логов на хостинге? Вопрос задаю не просто так. Поскольку при вышеобозначенной связке каждый сайт "запущен" от собственного пользователя, возможно есть какие-то нюансы.
Нет ничего невозможного
- Alex Keda
- стреляли...
- Сообщения: 35472
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Ротация логов apache хостинг freebsd
кстати - толи с 10 толи уже даже в 9 - оно инклюды поддерживает.
очень удобно - не надо один файл феерического размера пилить
очень удобно - не надо один файл феерического размера пилить
Код: Выделить всё
manager# ll /usr/local/etc/newsyslog.conf.d/
total 12
-rw-r--r-- 1 root wheel - 1,7K 27 апр 23:55 httpd.conf
-rw-r--r-- 1 root wheel - 253B 19 мар 05:37 net-snmp.conf
-rw-r--r-- 1 root wheel - 372B 23 фев 2015 nginx.conf
Убей их всех! Бог потом рассортирует...
- wien
- сержант
- Сообщения: 151
- Зарегистрирован: 2014-06-26 18:38:44
- Откуда: DafaultCity
- Контактная информация:
Ротация логов apache хостинг freebsd
2 Amadeus: Оно конечно ротируется, но после ротации в файлах access.log, errors.log лишь одна строчка:
И запись в файл не идет. Сделал apachectl graceful и запись пошла, но руками делать не очень удобно. Есть еще идеи?
2 Alex Keda На 9.3 у меня уже эта фишка поддерживается.
Код: Выделить всё
Apr 28 20:44:00 multisrv newsyslog[775]: logfile turned over due to size>8192K
2 Alex Keda На 9.3 у меня уже эта фишка поддерживается.
- Alex Keda
- стреляли...
- Сообщения: 35472
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Ротация логов apache хостинг freebsd
Код: Выделить всё
vm1# head -7 /usr/local/etc/newsyslog.conf.d/httpd.conf
# configuration file for newsyslog for net-snmp
#
# see newsyslog.conf(5) for details
#
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/home/httpd-logs/www.lissyara.su.access.log 644 7 * @T00 JC /var/run/httpd.pid
/home/httpd-logs/www.lissyara.su.error.log 644 7 * @T00 JC /var/run/httpd.pid
Убей их всех! Бог потом рассортирует...
- wien
- сержант
- Сообщения: 151
- Зарегистрирован: 2014-06-26 18:38:44
- Откуда: DafaultCity
- Контактная информация:
Ротация логов apache хостинг freebsd
Alex Keda, огромное человеческое спасибо, все работает как надо.
- Amadeus
- ст. сержант
- Сообщения: 332
- Зарегистрирован: 2008-10-05 12:42:44
- Откуда: Kiev
Ротация логов apache хостинг freebsd
2 Amadeus: Оно конечно ротируется, но после ротации в файлах access.log, errors.log лишь одна строчка:
Alex Keda, огромное человеческое спасибо, все работает как надо.
Я позволю себе дополнить, а почему, можете объяснить? Что вам Лис показал? И почему цитата 1 стало 2?
Даже. давайте вот так
signal_number
This optional field specifies the signal number that will be sent
to the daemon process (or to all processes in a process group, if
the U flag was specified). If this field is not present, then a
SIGHUP signal will be sent.
Нет ничего невозможного
- wien
- сержант
- Сообщения: 151
- Зарегистрирован: 2014-06-26 18:38:44
- Откуда: DafaultCity
- Контактная информация:
Ротация логов apache хостинг freebsd
Я добавил в конец строки /var/run/httpd.pid и все заработало, логи стали ротироваться в пользовательских папках.Amadeus писал(а): Я позволю себе дополнить, а почему, можете объяснить? Что вам Лис показал?
Хотя 2 основных лог файла апача /var/log/httpd-access.log и /var/log/httpd-error.log ротируются спокойно и без вышеобозначенной строки.
Не понял вопрос.И почему цитата 1 стало 2?
- Amadeus
- ст. сержант
- Сообщения: 332
- Зарегистрирован: 2008-10-05 12:42:44
- Откуда: Kiev
Ротация логов apache хостинг freebsd
Что вы добавили?) и почему заработало? В этом был вопросЯ добавил в конец строки /var/run/httpd.pid и все заработало, логи стали ротироваться в пользовательских папках.
Нет ничего невозможного
- Alex Keda
- стреляли...
- Сообщения: 35472
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Ротация логов apache хостинг freebsd
http://man.freebsd.org/newsyslog.conf/
просто он не прочёл ... и всё.
просто он не прочёл ... и всё.
Убей их всех! Бог потом рассортирует...
-
- ст. лейтенант
- Сообщения: 1375
- Зарегистрирован: 2010-02-05 0:21:40
Ротация логов apache хостинг freebsd
Не нравится мне такой подход. И вот почему - если у апача много логов, то в конфиге newsyslog'a будет много записей. А потом newsyslog их процессит по одному. И для каждого лога он отдельно лог переименовывает, а потом перезапускает апач. При том, что на деле перезапустить апач хватает одного раза.
Ну и по-любому, если даже при ротации каждого лога перезапускать апач, то не _HUP, а -USR1. В мане написано почему.
Ну и по-любому, если даже при ротации каждого лога перезапускать апач, то не _HUP, а -USR1. В мане написано почему.
- Amadeus
- ст. сержант
- Сообщения: 332
- Зарегистрирован: 2008-10-05 12:42:44
- Откуда: Kiev
Ротация логов apache хостинг freebsd
Вообще то нет) там в том же мане написано как сделать в 1 строчку. Если соблюдать здоровую логику.И вот почему - если у апача много логов, то в конфиге newsyslog'a будет много записей
Отправлено спустя 39 секунд:
А тут да согласен, у самого везде -30.
Нет ничего невозможного
-
- ст. лейтенант
- Сообщения: 1375
- Зарегистрирован: 2010-02-05 0:21:40
Ротация логов apache хостинг freebsd
Я ведь не сказал, что нельзя сделать в 1 строчку. Я сказал, что мне не нравится так, как тут предложено. А тут предложено с одной строчкой на каждый лог. И именно это мне и не нравится.Amadeus писал(а):Вообще то нет) там в том же мане написано как сделать в 1 строчку. Если соблюдать здоровую логику.И вот почему - если у апача много логов, то в конфиге newsyslog'a будет много записей
- Alex Keda
- стреляли...
- Сообщения: 35472
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Ротация логов apache хостинг freebsd
Звёздочку юзайте.
Мне, на десятке сайтов, - красивость конфига дороже
Мне, на десятке сайтов, - красивость конфига дороже
Убей их всех! Бог потом рассортирует...
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
- Amadeus
- ст. сержант
- Сообщения: 332
- Зарегистрирован: 2008-10-05 12:42:44
- Откуда: Kiev
Ротация логов apache хостинг freebsd
Хде?)U indicates that the file specified by path_to_pid_cmd_file
will contain the ID for a process group instead of a
process. This option also requires that the first line
in that file be a negative value to distinguish it from a
process ID.
Наверное все таки тут
G indicates that the specified logfile_name is a shell pat-
tern, and that newsyslog(8) should archive all filenames
matching that pattern using the other options on this
line. See glob(3) for details on syntax and matching
rules.
#custom_log
/home/sphinx/*.log _sphinx:_sphinx 644 7 * @T00 JG
/home/sphinx/*.txt _sphinx:_sphinx 644 7 * @T00 JG
#sphinx_log
/var/log/sphinxsearch/*.log _sphinx:_sphinx 600 7 * @T00 JG /var/run/sphinxsearch/searchd.pid 30
Ротирует штук дцать логов
Это "жаргон"), на самом деле да, тут просто обозначение сигналаА зачем минус?
В этом поле (signal) он же вроде даже не предусмотрен.
Нет ничего невозможного
-
- сержант
- Сообщения: 239
- Зарегистрирован: 2017-01-10 14:37:13
Ротация логов apache хостинг freebsd
всем привет!
ведутся логи апача httpd-access.log и httpd-error.log, вопрос в том как правильно сделать запись в newsyslog
или же
так как владельца и группу указывать не обязательно то можно ли свести к виду?
насколько важно указывать пид.файл? или же можно обойтись и без него как в первом варианте?
ведутся логи апача httpd-access.log и httpd-error.log, вопрос в том как правильно сделать запись в newsyslog
Код: Выделить всё
/var/log/httpd-access.log 644 7 102400 * JC
/var/log/httpd-error.log 644 7 102400 * JC
Код: Выделить всё
/var/log/httpd-access.log www:wheel 600 7 102400 * JC /var/run/httpd.pid 30
/var/log/httpd-error.log www:wheel 600 7 102400 * JC /var/run/httpd.pid 30
Код: Выделить всё
/var/log/httpd-access.log 600 7 102400 * JC /var/run/httpd.pid 30
/var/log/httpd-error.log 600 7 102400 * JC /var/run/httpd.pid 30
#[/pid_file] - задает путь к «pid-файлу» процесса пишущего журнал.
# Использование pid-файлов является простым способом записи поля ID процесса в системе,
# так что бы другие программы могли его легко прочитать.
# Большинство программ хранят свои pid-файлы в каталоге /var/run – поглядите их у
# себя на машине.
# Если в этом поле вы укажете полный путь к pid-файлу, то newsyslog будет посылать сигнал этому
# процессу когда будет производиться ротация. Например веб-сервер Apache должен быть оповещен
# при ротации его журналов. Записав в этом поле полный путь к его pid-файлу вы заставите
# newsyslog посылать процессу Apache сигнал kill -1, что бы он запустил
# свою часть обработки ротации журналов.
-
- сержант
- Сообщения: 239
- Зарегистрирован: 2017-01-10 14:37:13
Ротация логов apache хостинг freebsd
путем проб добился результата, вот запись
pid файл указывать обязательно, нужно давать сигнал процессу апача, чтобы "отпустил" файл логов и стал писать в новый, иначе в новом лог файле будет пусто
Код: Выделить всё
#apache
/var/log/httpd-access.log 600 10 102400 * JC /var/run/httpd.pid
/var/log/httpd-error.log 600 10 102400 * JC /var/run/httpd.pid