2018-09-24 Подстели Подушку Заранее При Опасных Операциях
Новейший утвержденный
Это старая версия документа.
Нарушено правило: Выработать привычки при работе на продакшен-сервере (или на тестовом сервере, если восстанавливать его, в случае ошибки, долго).
Привычки:
- Перед изменениями сделай резервную копию.
- Не удаляй сразу временные данные, сделай move в каталог .delme.
- Предусматривай худшие случаи: отпадет консоль, пропадет сеть, зависнет сервер.
- Проверь сначала на тестовом сервере.
(TODO правило не сформулировано в opencarbon)
Ценой небольших трудозатрат мы минимизируем цену человеческой ошибки.
Ошибка: Изменение правил iptables на удаленном сервере без плана на случай ошибок. Добавили правило, из-за которого пропал доступ к продакшен-серверу.
Как надо делать: Если нужно добавить правило на удаленный сервер, нужно добавить отложенный вызов команды, удаляющей правило, например:
setsid bash -c "iptables -I FORWARD -j DROP; echo 'Started'; sleep 10; iptables -D FORWARD 1; echo 'Done'" &>/tmp/test_iptables & disown -a tail -f /tmp/test_iptables
Здесь через 10 секунд новое правило удалится из iptables даже если консоль отпадет.
Другой способ:
setsid bash -c "sleep 120; reboot -f" &>/dev/null & disown -a
Здесь Вам нужно успеть за 2 минуты провести изменения и убить процесс bash. В противном случае (если сеть стала недоступна, например) сервер перезагрузится.
~~OWNERAPPROVE~~
Прочитал правила разработки как не надо делать 2018-09-24 подстели подушку заранее при опасных операциях |
Обсуждение
Наверное правильнее такое:
Я пару раз забывал про то, что запускал это в другой вкладке.
ok