Сегодня я понял, что мой сервер не отправляет почту с лог-проверкой, как это должно делаться каждую ночь. Я вошел в свой ящик с помощью ssh, и первые набранные мной команды вернулись no disk space left
. В панели администрирования моего хостера (Virtuozzo power panel) было такое же предупреждение, используется 99%. Это было довольно странно, потому что коробка довольно новая (6 недель назад) и должна иметь использование диска 2% (как было сказано в письме logcheck накануне). С помощью du -sh
Я попытался найти большой файл, но ничего не вышло. Ни файлов, ни больших папок.
Прочитав о случае, когда плохая обработка сеанса привела к заполнению диска определенным набором php, я решил закрыть все свои веб-приложения одно за другим (php не установлен на моем сервере). Моим первым предположением был мой сервер Jenkins, и сразу после того, как я остановил службу, мой инструмент администрирования показал 2% disk usage
очередной раз. Итак, я нашел ошибку, но не знаю, что ее вызвало. Jenkins был первым, что я установил 6 недель назад, и до сих пор проблем не возникало. Я не видел подозрительного доступа к Jenkins, через день в моих журналах было несколько неудачных попыток входа в систему с помощью ботов, но я не вижу, что это необычно. Я не смог погуглить такое поведение и (конечно) немного обеспокоен этим. Что я могу / должен сделать, чтобы этого не произошло?
Обратите внимание, что на моем сервере Jenkins в настоящее время есть одна сборка с проверкой и одна сборка ночью, оба являются небольшими приложениями Java-EE.
Чтобы проверить свободное место как Дженкинс Джоб:
FREE_SPACE
: Требуется свободное место в ГБ.#!/usr/bin/env bash
free_space="$(df -Ph . | awk 'NR==2 {print $4}')"
if [[ "${free_space}" = *G* ]]; then
free_space_gb=${x/[^0-9]*/}
if [[ ${free_space_gb} -lt ${FREE_SPACE} ]]; then
echo "Warning! Low space: ${free_space}"
exit 2
fi
else
echo "Warning! Unknown: ${free_space}"
exit 1
fi
echo "Free space: ${free_space}"
Free space: (.*)
Описание: Free space: \1
Регулярное выражение для неудачных сборок: Warning! (.*)
\1