2018-09-24 Подстели Подушку Заранее При Опасных Операциях
Различия
Здесь показаны различия между двумя версиями данной страницы.
правила_разработки:как_не_надо_делать:2018-09-24_подстели_подушку_заранее_при_опасных_операциях [24.09.2018 10:16] nikolay_carbonsoft1 Approved(nikolay_carbonsoft1 2018/09/24 10:16) |
правила_разработки:как_не_надо_делать:2018-09-24_подстели_подушку_заранее_при_опасных_операциях [20.05.2019 15:18] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | **Нарушено правило:** Выработать привычки при работе на продакшен-сервере (или на тестовом сервере, если восстанавливать его, в случае ошибки, долго). | ||
- | |||
- | **Привычки:** | ||
- | * Перед изменениями сделай резервную копию. | ||
- | * Не удаляй сразу временные данные, сделай move в каталог .delme. | ||
- | * Предусматривай худшие случаи: отпадет консоль, пропадет сеть, зависнет сервер. | ||
- | * Проверь сначала на тестовом сервере. | ||
- | |||
- | (TODO правило не сформулировано в opencarbon) | ||
- | |||
- | //**Ценой небольших трудозатрат мы минимизируем цену человеческой ошибки.**// | ||
- | |||
- | **Ошибка:** Изменение правил iptables на удаленном сервере без плана на случай ошибок. Добавили правило, из-за которого пропал доступ к продакшен-серверу. | ||
- | |||
- | **Как надо делать:** Если нужно добавить правило на удаленный сервер, нужно добавить отложенный вызов команды, удаляющей правило, например: | ||
- | <code bash> | ||
- | 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 | ||
- | </code> | ||
- | Здесь через 10 секунд новое правило удалится из iptables даже если консоль отпадет. | ||
- | |||
- | Другой способ: | ||
- | <code bash> | ||
- | setsid bash -c "sleep 120; reboot -f" &>/dev/null & disown -a | ||
- | </code> | ||
- | Здесь Вам нужно успеть за 2 минуты провести изменения и убить процесс bash. В противном случае (если сеть стала недоступна, например) сервер перезагрузится. | ||
- | |||
- | ~~OWNERAPPROVE~~ | ||
- | /*Не удаляйте эту строку и ниже!*/ | ||
- | {(rater>id=1|name=Прочитал_правила_разработки:как_не_надо_делать:2018-09-24_подстели_подушку_заранее_при_опасных_операциях|type=vote|trace=user|tracedetails=1)} | ||