Сегодня мне написал один с моих клиентов
Здравствуйте, Роман. Можете ли взглянуть на пациента.
1.1.1.1
root
passТам валится mysql периодически и не поднимается.
Error SQL:
QUERY:
select id,text_name from kamni_ru_defines where check_end=0 and text_name=»GENERAL»
MYSQL Error:Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)
Ну что же делать полез на сервер читать логи.
Нашел интересную запись
1 | echo: write error: No space left on device |
Которая так и говорила о том что диск под завязку.
Немного поискав большие папки на сервере увидел что логи веб сервера были перенесены в иную папку.
что бы не чистить логи вручную с периодичностью я использовал ротацию логов но в донам случае демону нужно было указать дополнительное место для ротации
все настройки
1 | logrotate |
хранит в директории
1 | /etc/logrotate.d/ |
в каталоге уже существовали несколько файлов с настройками для примера мною были взяты настройки ротации httpd/
Его содержание:
1 2 3 4 5 6 7 8 9 | /var/log/httpd/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript } |
за что отвечают строки?
1 2 3 4 5 | missingok – не писать сообщения в stdout, если файл отсутствует; notifempty – не выполнять никаких действий, если файл пустой; sharedscripts - Если параметр sharedscript указан, то скрипты будут выполнены только один раз; delaycompress - Отложить сжатие предыдущего файла журнала до следующего циклического сдвига; postrotate/endscript – действие, выполняемое после ротации логов; |
Больше о директивах можете прочесть здесь OpenNet: MAN logrotate
В конфигурации мне нужно было сменить лишь первую строку
Что получилось?
1 2 3 4 5 6 7 8 9 | /var/www/html/kamen-znak.ru/logs/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript } |
Ну совсем никакой разницы, Проверяю конфиг
1 | logrotate -f /etc/logrotate.conf |
Ну и проверяю
1 2 3 | [[email protected] logrotate.d]# cat /var/lib/logrotate.status | grep kamen "/var/www/html/kamen-znak.ru/logs/error.log" 2017-1-6-18:52:20 "/var/www/html/kamen-znak.ru/logs/access.log" 2017-1-6-18:52:20 |
В данном случае было освобождено 18 ГБ дискового пространства.