The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Ошибка в bash-скрипте привела к полной очистке всех серверов..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от opennews (??) on 14-Апр-16, 21:15 
Опубликована (http://www.independent.co.uk/life-style/gadgets-and-tech/new...) поучительная история, призывающая к осторожному использованию систем централизованного управления конфигурацией и жесткой изоляции резервных копий. Для автоматизации проведения работ на всех серверах одного хостинг-провайдера использовалась система Ansible. В один прекрасный момент в bash-скрипте, содержащем команду "rm -rf {foo}/{bar}" ("rm -rf ${foo}/${bar}/*" ?) была допущена ошибка, которая привела к незаполнению переменных foo и bar. После того как скрипт был растиражирован и выполнен на всех серверах произошла (http://serverfault.com/questions/769357/recovering-from-a-rm-rf) катастрофа - было удалено содержимое всех серверов, включая бэкапы, хранилище которых было примонтировано к одному из серверов, и данные сайтов 1535 клиентов.


URL: http://www.independent.co.uk/life-style/gadgets-and-tech/new...
Новость: http://www.opennet.me/opennews/art.shtml?num=44247

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +15 +/
Сообщение от Аноним (??) on 14-Апр-16, 21:15 
Вот костыления достойные плоды !
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +9 +/
Сообщение от grec on 14-Апр-16, 21:16 
На всяких sh кодить дело не благодарное.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

69. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от Andrey Mitrofanov on 15-Апр-16, 09:31 
> На всяких sh кодить дело не благодарное.

Ога-ога. Зато теперь bash.exe точно готов для майкрософта-виста!

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от Аноним (??) on 14-Апр-16, 21:16 
lol
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +32 +/
Сообщение от A.Stahl (ok) on 14-Апр-16, 21:18 
>foo и bar

И потом админы вздохнули: "foo" и пошли в bar заливать горе...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  –2 +/
Сообщение от Аноним (??) on 14-Апр-16, 21:19 
Вот вам и мнимая простота Ansible.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +4 +/
Сообщение от о6какатрон on 14-Апр-16, 21:30 
человечиский фактор жэ
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

60. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Поуист on 15-Апр-16, 05:52 
Тут скорее поработали специально обученные обезьяны.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

76. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 16-Апр-16, 10:13 
Ты придурок? Если нет, то объясни, почему так мало фигурных скобок и кто использует "shell: rm" и "file: state=absent".
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +2 +/
Сообщение от Anonplus on 14-Апр-16, 21:36 
Если пользователь хочет выстрелить себе в ногу, программа должна это позволять. Но она должна уметь и отменять любое действие. Иначе, это просчёт программистов.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +9 +/
Сообщение от РРР on 14-Апр-16, 21:58 
Продолжим ваши рассуждения о выстреле. Пользователь спустил курок, пуля пролетела сквозь череп. Каким образом господин Калашников должен вас восстановить из мёртвых?
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

26. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +5 +/
Сообщение от Аноним (??) on 14-Апр-16, 22:29 
Подать в суд на Калашникова, очевидно же.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

53. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от . on 15-Апр-16, 02:13 
В суд на человека с калашниковым :)
"Я делал автомат чтобы Родину защищать!"(С)Калашников, а если всяким еб***нам захотелось себе череп прострелить, ни автомат ни Конструктор ни при чём.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

57. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от 8203 on 15-Апр-16, 04:10 
Не хватает только DRM.
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

8. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +6 +/
Сообщение от tagezi email(ok) on 14-Апр-16, 21:37 
Причем тут костыли, причем тут простата? :D
Просто нужно тестить свой говнокод, перед тем как юзать :)))
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

31. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от Васёк on 14-Апр-16, 22:35 
Вот простáта тут однозначно не причем…
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

40. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от foobar (??) on 14-Апр-16, 23:56 
Так он и протестил, в проде...
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

63. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  –1 +/
Сообщение от _KUL (ok) on 15-Апр-16, 06:55 
Они забыли в команде указать последним главный ключ из man'а!

-i, --interactive
Выдавать запрос на удаление каждого файла. Если ответ не утвердителен, то файл пропускается.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

9. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +9 +/
Сообщение от Аноним (??) on 14-Апр-16, 21:39 
Во всём нужно искать положительные стороны. Например, рассадников червей и спамоботов стало на полторы тыщи меньше.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +8 +/
Сообщение от Аноним (??) on 14-Апр-16, 21:40 
хм. --no-preserve-root?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +6 +/
Сообщение от Аноним (??) on 14-Апр-16, 21:42 
Все уже разобрались, что это троллинг.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 14-Апр-16, 21:59 
Почтим памятью безвременно ушедшего раба божия того админа...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +5 +/
Сообщение от Аноним (??) on 14-Апр-16, 21:59 
Патч имени Бармина накатили
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

15. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +4 +/
Сообщение от Аноним (??) on 14-Апр-16, 22:00 
Какой-то хипстер обжегся и решил запилить прохладную историю про якобы хостинг-провайдера. Знаем, проходили. Очередное напоминание, мол, "аккуратнее, ребзя! линух, оказывается, кусается!"
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от Аноним email(??) on 14-Апр-16, 22:05 
Ansible - мощь!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +5 +/
Сообщение от Пользователь Debian on 14-Апр-16, 22:07 
Удалите эту ерунду.  Человек на SO набросил потому что заняться нечем было, а вы тут репостите.

Атата.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 14-Апр-16, 22:13 
Ну, это... Что делать-то будете? testdisk? photorec? R-Studio for Linux ($80)? А лучше в платный центр восстановления данных с повреждённых носителей. Вот уж они озолотятся с 1535 серверов!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 14-Апр-16, 22:13 
когда я был сисадмином - мне не раз приходилось похерить пользовательские данные... это были и базы 1С, домены, пользовательские фотки, документы... я думал только я один такой дuбuл на свете...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +2 +/
Сообщение от Аноним (??) on 14-Апр-16, 22:20 
И долго вы были сисадмином позвольте спросить ?
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

28. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +7 +/
Сообщение от Led (ok) on 14-Апр-16, 22:32 
> И долго вы были сисадмином позвольте спросить ?

По резальтатам "работы" насильно переквалифицировали в "модного дизайнера".

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

29. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от Аноним (??) on 14-Апр-16, 22:32 
лет 8
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

27. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +2 +/
Сообщение от Led (ok) on 14-Апр-16, 22:31 
> я думал только я один такой дuбuл на свете...

Да нет же, дохрена вас...


Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

20. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +3 +/
Сообщение от Аноним (??) on 14-Апр-16, 22:18 
Вообще-то Ansible по умолчанию падает с ошибкой при попытке обратиться к неопределенной переменной.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

35. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от mickvav on 14-Апр-16, 23:06 
Дык, их, видать, пустыми строками определили :)
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

44. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +9 +/
Сообщение от Аноним (??) on 15-Апр-16, 00:07 
> Дык, их, видать, пустыми строками определили :)

Так! Человек вновь победил бездушную машину!

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

21. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от Megabit (ok) on 14-Апр-16, 22:19 
>>...мне не раз приходилось похерить пользовательские данные...

Наверное ты таки ОДИН...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

23. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +6 +/
Сообщение от rshadow (ok) on 14-Апр-16, 22:21 
1 апреля давно закончилось.

$ sudo rm -fr /
rm: опасно рекурсивно обрабатывать «/»
rm: используйте --no-preserve-root, чтобы отменить предупреждение об опасности

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

58. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 15-Апр-16, 04:11 
Не bashем единым.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

62. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от Сиромант on 15-Апр-16, 06:50 
При чем здесь bash? Это GNU coreutils.
Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

24. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 14-Апр-16, 22:26 
Это был тонкий троллинг, закончившийся полнейшей жирнотой. Новость можно удалять.
http://serverfault.com/questions/769357/recovering-from-a-rm-rf
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

25. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от commiethebeastie (ok) on 14-Апр-16, 22:27 
А /usr оно удалило?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

43. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 15-Апр-16, 00:05 
> А /usr оно удалило?

Всё удалило. Даже /dev/null.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

30. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  –1 +/
Сообщение от Аноним (??) on 14-Апр-16, 22:34 
я тоже так сделал, правда, с фотками, не я один такой значит...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

32. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +4 +/
Сообщение от ALex_hha (ok) on 14-Апр-16, 22:36 
> Вот вам и мнимая простота Ansible.

т.е. этот же злосчастный bash скрипт на salt, chef, puppet отработал бы по другому? :D

> На всяких sh кодить дело не благодарное.

set -u нее, не слышал? Ну дак кто вам виноват.

#!/bin/bash

set -u
set -e

dir1="foo"
#dir2="bar"

rm -fr ${dir1}/${dir2}

# test.sh
./test.sh: line 11: dir2: unbound variable

P.S.
правда если будет dir1="" и dir2="", то сработает :)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

34. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 14-Апр-16, 23:03 
О, я так другу в детстве программу написал и дал потестить. Только не сказал, что для того чтобы в ней появилось меню нужно нажать M, а до этого F10. В итоге он сказал, что программа ему очень понравилась, но впоследствии я выяснил, что дальше пустого чёрного экрана в её использовании он так и не продвинулся. Правда мне тогда было лет 12, а сколько лет было тому, кто придумал необходимость в "set -u" и сделал пробел значимым символом при присваивании значения переменной?
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

73. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Led (ok) on 15-Апр-16, 21:19 
> Правда мне тогда было лет 12

Ну и зачем здесь эта прошлогодняя история?

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

42. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  –1 +/
Сообщение от Аноним (??) on 15-Апр-16, 00:00 
# set -u бесполезен когда переменная объявлена, но пуста, пример: dir1=""
# Поэтому единственный выход проверить значения переменных непосредственно перед деструктивными операциями:


#!/usr/bin/env bash

err () {
   echo "Error: $1"
   exit 1
}

#dir1="1"
dir2="2"

[ "$dir1" == ""  ] && err "Undefined variable 'dir1'"
[ "$dir2" == ""  ] && err "Undefined variable 'dir2'"

cd ${dir1} && rm -R ${dir2}

# EOF


Кстати, -f в rm намекает на его кустарность оригинального скрипта.

Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

51. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  –2 +/
Сообщение от Аноним (??) on 15-Апр-16, 01:29 
Использование -u и -e для чего-либо кроме отладки - дурной тон.
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

67. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +2 +/
Сообщение от Andrey (??) on 15-Апр-16, 07:49 
> Использование -u и -e для чего-либо кроме отладки - дурной тон.

И чем они помешают в production? Пускай лучше упадет, чем некорректно работать будет.

Небольшая иструкция по работе с ошибками в скриптах: http://users.livejournal.com/_winnie/277041.html

Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

74. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  –1 +/
Сообщение от Аноним (??) on 15-Апр-16, 21:30 
>> Использование -u и -e для чего-либо кроме отладки - дурной тон.
> И чем они помешают в production? Пускай лучше упадет, чем некорректно работать
> будет.

Тем что их поведение не очевидно во многих случаях, всё это описано подробно в bash FAQ.

Ответить | Правка | ^ к родителю #67 | Наверх | Cообщить модератору

33. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от QuAzI (ok) on 14-Апр-16, 22:38 
Снапшоты ФС не удаляются через rm, но почему-то народ считает что снапшоты не комильфо для бекапов
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

36. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 14-Апр-16, 23:28 
Открой для себя бездну гугль: консистентное состояния и snapshot.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

54. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от . on 15-Апр-16, 02:17 
В нормальных FS - снапшоты нормальные. :-р
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

56. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  –1 +/
Сообщение от Elhana (ok) on 15-Апр-16, 03:14 
Снапшоты не комильфо для бекапов, потому что если диск накернится, то даже 100 снапшотов вам не помогут. Но по своему они полезны.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

64. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 15-Апр-16, 07:00 
Помогут, если их хранить на другом накопителе.
Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

70. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от JL2001 email(ok) on 15-Апр-16, 15:09 
> Снапшоты не комильфо для бекапов, потому что если диск накернится, то даже
> 100 снапшотов вам не помогут. Но по своему они полезны.

снапшоты комильфо для бэкапов, а вот нераспределённое хранение бэкапов (которые могут быть в любом виде) - некомильфо
(хотя в терминалогии я не силён, что там называют бэкапами, что версионированием, а что резервным копированием - не в курсе)

Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

37. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +2 +/
Сообщение от Аноним (??) on 14-Апр-16, 23:40 
Один разгильдяй не умеет писать скрипты на bash-е, не имеет системы контроля версий, не умеет настроить бекап. Второй держит этого "специалиста" на работе. А виноват ansible.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

39. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  –1 +/
Сообщение от Anonymous1 on 14-Апр-16, 23:54 
> Один разгильдяй не умеет писать скрипты на bash-е, не имеет системы контроля
> версий, не умеет настроить бекап. Второй держит этого "специалиста" на работе.
> А виноват ansible.

Да блин, вот и выросло поколение гуевых админов, которые ждут везде подтверждений типа "А Вы уверены?", причем раз по 10 на каждую сомнительную операцию.
Спасет таких админов только следующая метода:
QR-код, создаваемый спец. приложением на Айфоне, которым команды в баш-е на "управляемых" ими серверах будут через сервис Гугла писать, с предварительной проверкой их искусственным интеллектом от Майкрософт. Потому что собственный интеллект задропан в ноль и заменен креативностью еще в школе, что и удостоверено высоким баллом ЕГЭ.

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

52. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  –1 +/
Сообщение от Анином on 15-Апр-16, 01:45 
Всетаки bash как язык программирования крайне неудобен, что повышает вероятность ошибок.
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

75. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 15-Апр-16, 21:36 
> Всетаки bash как язык программирования крайне неудобен, что повышает вероятность ошибок.

Точно такая ошибка с удалением всего содержимого диска есть например в Samsung kies, а он явно не на bash.

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

38. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от IMHO on 14-Апр-16, 23:48 
код покажите, может он еще там и dd if=/dev/zero of=/dev/hdd$inc
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

46. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 15-Апр-16, 00:25 
Он там уже написал, что перепутал if и of, а потом — что почти всё удалось восстановить.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

49. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Эль on 15-Апр-16, 00:47 
Он в комментариях дальше пишет, что if и of перепутал, когда один из дисков восстанавливал, так что да.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

41. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 14-Апр-16, 23:58 
> бэкапы, хранилище которых было примонтировано к одному из серверов

Правильная архитектура не должна позволять выстрелить себе в ногу. Надо монтировать read-only, или вообще отдавать данные с коиента на сервер.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

71. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от JL2001 email(ok) on 15-Апр-16, 15:14 
>> бэкапы, хранилище которых было примонтировано к одному из серверов
> Правильная архитектура не должна позволять выстрелить себе в ногу. Надо монтировать read-only

проблема в том что это ошибка в скрипте который:
1) и должен работать с пользовательскими данными, тоесть они при его работе будут в w
2) распределяется к работе на все сервера

даже если бы ВЕСЬ диск не поврайтился - пользовательские данные потёрлись бы (даже забывая что сама новость похоже фейковая)
тоесть тут поможет только правильное бэкапирование с версионированием (ну и распределённостью)

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

45. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от Аноним (??) on 15-Апр-16, 00:19 
О, да. Так им и надо! Это все от того, что все боятся сишки.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

72. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от JL2001 email(ok) on 15-Апр-16, 15:15 
> О, да. Так им и надо! Это все от того, что все боятся сишки.

как будто rm-rf написан не на сишке
правильно делают что боятся !!! сишка убила винт а баш тока отдал преступный приказ !!!!!1112

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

47. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от Аноним (??) on 15-Апр-16, 00:27 
"rm -rf {foo}/{bar}"?  Что значит вообще значит?  В шелл скриптах для интерполяции используется символ доллара, а в Jinja2 и YAML, которые используются в Ansible, -- две пары фигурных скобок.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

48. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 15-Апр-16, 00:29 
rm - rf / не удаляет данные уже лет пять как, удалите этот фейк
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

59. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +1 +/
Сообщение от Аноним (??) on 15-Апр-16, 04:13 
ай красаучик админ, четко ошибся, от души код
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

61. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от eRIC (ok) on 15-Апр-16, 06:10 
rm -rf всегда считалась опасной командой, LOL
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

66. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от Аноним (??) on 15-Апр-16, 07:40 
я всегда удаляю данные через mv: mv /tmp/trash.txt /dev/null
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

68. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  –1 +/
Сообщение от Че on 15-Апр-16, 09:11 
Как ща помню. Перепутал как-то "./", написав, вместо этого "/." Когда понял, что что-то пошло не так, большая часть файлов в каталоге /dev была удалена. 8-[=====]X
В общем-то, к утру SCO был починен и бодро жужжал ораклом. 8-)

После этого инцидента, правильная команда была засунута в крон, чтобы уже ни какие очумелые ручки не мешались. И костыли эти работали уже до самого конца.
Предыдущий админ сказал, что у него на это ушло двое суток, при поддержке саппорта разработчика.

А вся эта беда была нужна потому, что у софта был какой-то глюк, когда он начинал в великом множестве плодить пустые файлы, что приводило к остановке дисковой системы, по причине занятости всех i-node.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

77. "Ошибка в bash-скрипте привела к полной очистке всех серверов..."  +/
Сообщение от ALex_hha (ok) on 18-Апр-16, 13:59 
> Тем что их поведение не очевидно во многих случаях, всё это описано подробно в bash FAQ.

а какое может быть не очевидное поведение у set -u?

Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру