Jenkins CI Server заполнил дисковое пространство
Сегодня я понял, что мой сервер не отправляет почту проверки, как это должно происходить каждую ночь. Я вошел в свой ящик с помощью ssh, и первые введенные мной команды вернулись no disk space left
, Панель администрирования моего хостера (панель питания Virtuozzo) показала похожее предупреждение, 99% использовалось. Это было довольно странно, потому что коробка довольно новая (6 недель) и должна использовать диск на 2% (как сказано в письме о проверке журнала накануне). С помощью du -sh
Я пытался найти большой файл, но ничего не было. Нет файлов, нет больших папок.
Прочитав о случае, когда из-за плохой обработки сеанса диск заполнялся в определенном созвездии с помощью php, я решил закрыть все свои веб-приложения, одно за другим (php не установлен на моем сервере). Моим первым предположением был мой сервер Jenkins, и сразу после того, как я остановил службу, мой инструмент администрирования показал 2% disk usage
снова. Так что я нашел ошибку, но я не знаю, что ее вызвало. Дженкинс был первым, что я установил 6 недель назад, и до сих пор проблем не было. Я не видел подозрительного доступа к Дженкинсу, в моих журналах каждый день появлялись неудачные логины от ботов, но я не вижу в этом ничего необычного. Я не был в состоянии погуглить это поведение и (конечно) немного волнуюсь по этому поводу. Что я могу / должен сделать, чтобы предотвратить это?
Обратите внимание, что на моем сервере Jenkins в настоящее время есть одна сборка регистрации и одна ночная сборка, оба являются небольшими приложениями Java-EE.
0 ответов
Чтобы проверить свободное место как Дженкинс Джоб:
параметры
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