|
2.69, Andrey Mitrofanov (?), 09:31, 15/04/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> На всяких sh кодить дело не благодарное.
Ога-ога. Зато теперь bash.exe точно готов для майкрософта-виста!
| |
|
1.4, A.Stahl (ok), 21:18, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +32 +/– |
>foo и bar
И потом админы вздохнули: "foo" и пошли в bar заливать горе...
| |
|
2.76, Аноним (-), 10:13, 16/04/2016 [^] [^^] [^^^] [ответить]
| +/– |
Ты придурок? Если нет, то объясни, почему так мало фигурных скобок и кто использует "shell: rm" и "file: state=absent".
| |
|
1.7, Anonplus (?), 21:36, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Если пользователь хочет выстрелить себе в ногу, программа должна это позволять. Но она должна уметь и отменять любое действие. Иначе, это просчёт программистов.
| |
|
2.12, РРР (?), 21:58, 14/04/2016 [^] [^^] [^^^] [ответить]
| +9 +/– |
Продолжим ваши рассуждения о выстреле. Пользователь спустил курок, пуля пролетела сквозь череп. Каким образом господин Калашников должен вас восстановить из мёртвых?
| |
|
|
4.53, . (?), 02:13, 15/04/2016 [^] [^^] [^^^] [ответить]
| +/– |
В суд на человека с калашниковым :)
"Я делал автомат чтобы Родину защищать!"(С)Калашников, а если всяким еб***нам захотелось себе череп прострелить, ни автомат ни Конструктор ни при чём.
| |
|
|
|
1.8, tagezi (ok), 21:37, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
Причем тут костыли, причем тут простата? :D
Просто нужно тестить свой говнокод, перед тем как юзать :)))
| |
|
2.63, _KUL (ok), 06:55, 15/04/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Они забыли в команде указать последним главный ключ из man'а!
-i, --interactive
Выдавать запрос на удаление каждого файла. Если ответ не утвердителен, то файл пропускается.
| |
|
1.9, Аноним (-), 21:39, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +9 +/– |
Во всём нужно искать положительные стороны. Например, рассадников червей и спамоботов стало на полторы тыщи меньше.
| |
1.15, Аноним (-), 22:00, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Какой-то хипстер обжегся и решил запилить прохладную историю про якобы хостинг-провайдера. Знаем, проходили. Очередное напоминание, мол, "аккуратнее, ребзя! линух, оказывается, кусается!"
| |
1.18, Аноним (-), 22:13, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ну, это... Что делать-то будете? testdisk? photorec? R-Studio for Linux ($80)? А лучше в платный центр восстановления данных с повреждённых носителей. Вот уж они озолотятся с 1535 серверов!
| |
1.19, Аноним (-), 22:13, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
когда я был сисадмином - мне не раз приходилось похерить пользовательские данные... это были и базы 1С, домены, пользовательские фотки, документы... я думал только я один такой дuбuл на свете...
| |
|
|
3.28, Led (ok), 22:32, 14/04/2016 [^] [^^] [^^^] [ответить]
| +7 +/– |
> И долго вы были сисадмином позвольте спросить ?
По резальтатам "работы" насильно переквалифицировали в "модного дизайнера".
| |
|
2.27, Led (ok), 22:31, 14/04/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
> я думал только я один такой дuбuл на свете...
Да нет же, дохрена вас...
| |
|
1.20, Аноним (-), 22:18, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Вообще-то Ansible по умолчанию падает с ошибкой при попытке обратиться к неопределенной переменной.
| |
|
|
3.44, Аноним (-), 00:07, 15/04/2016 [^] [^^] [^^^] [ответить]
| +9 +/– |
> Дык, их, видать, пустыми строками определили :)
Так! Человек вновь победил бездушную машину!
| |
|
|
1.21, Megabit (ok), 22:19, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
>>...мне не раз приходилось похерить пользовательские данные...
Наверное ты таки ОДИН...
| |
1.23, rshadow (ok), 22:21, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
1 апреля давно закончилось.
$ sudo rm -fr /
rm: опасно рекурсивно обрабатывать «/»
rm: используйте --no-preserve-root, чтобы отменить предупреждение об опасности
| |
1.32, ALex_hha (ok), 22:36, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
> Вот вам и мнимая простота 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="", то сработает :)
| |
|
2.34, Аноним (-), 23:03, 14/04/2016 [^] [^^] [^^^] [ответить]
| +/– |
О, я так другу в детстве программу написал и дал потестить. Только не сказал, что для того чтобы в ней появилось меню нужно нажать M, а до этого F10. В итоге он сказал, что программа ему очень понравилась, но впоследствии я выяснил, что дальше пустого чёрного экрана в её использовании он так и не продвинулся. Правда мне тогда было лет 12, а сколько лет было тому, кто придумал необходимость в "set -u" и сделал пробел значимым символом при присваивании значения переменной?
| |
|
3.73, Led (ok), 21:19, 15/04/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Правда мне тогда было лет 12
Ну и зачем здесь эта прошлогодняя история?
| |
|
2.42, Аноним (-), 00:00, 15/04/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
# 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 намекает на его кустарность оригинального скрипта.
| |
2.51, Аноним (-), 01:29, 15/04/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
Использование -u и -e для чего-либо кроме отладки - дурной тон.
| |
|
|
4.74, Аноним (-), 21:30, 15/04/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> Использование -u и -e для чего-либо кроме отладки - дурной тон.
> И чем они помешают в production? Пускай лучше упадет, чем некорректно работать
> будет.
Тем что их поведение не очевидно во многих случаях, всё это описано подробно в bash FAQ.
| |
|
|
|
1.33, QuAzI (ok), 22:38, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Снапшоты ФС не удаляются через rm, но почему-то народ считает что снапшоты не комильфо для бекапов
| |
|
2.36, Аноним (-), 23:28, 14/04/2016 [^] [^^] [^^^] [ответить]
| +/– |
Открой для себя бездну гугль: консистентное состояния и snapshot.
| |
2.56, Elhana (ok), 03:14, 15/04/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Снапшоты не комильфо для бекапов, потому что если диск накернится, то даже 100 снапшотов вам не помогут. Но по своему они полезны.
| |
|
3.70, JL2001 (ok), 15:09, 15/04/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Снапшоты не комильфо для бекапов, потому что если диск накернится, то даже
> 100 снапшотов вам не помогут. Но по своему они полезны.
снапшоты комильфо для бэкапов, а вот нераспределённое хранение бэкапов (которые могут быть в любом виде) - некомильфо
(хотя в терминалогии я не силён, что там называют бэкапами, что версионированием, а что резервным копированием - не в курсе)
| |
|
|
1.37, Аноним (-), 23:40, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Один разгильдяй не умеет писать скрипты на bash-е, не имеет системы контроля версий, не умеет настроить бекап. Второй держит этого "специалиста" на работе. А виноват ansible.
| |
|
2.39, Anonymous1 (?), 23:54, 14/04/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Один разгильдяй не умеет писать скрипты на bash-е, не имеет системы контроля
> версий, не умеет настроить бекап. Второй держит этого "специалиста" на работе.
> А виноват ansible.
Да блин, вот и выросло поколение гуевых админов, которые ждут везде подтверждений типа "А Вы уверены?", причем раз по 10 на каждую сомнительную операцию.
Спасет таких админов только следующая метода:
QR-код, создаваемый спец. приложением на Айфоне, которым команды в баш-е на "управляемых" ими серверах будут через сервис Гугла писать, с предварительной проверкой их искусственным интеллектом от Майкрософт. Потому что собственный интеллект задропан в ноль и заменен креативностью еще в школе, что и удостоверено высоким баллом ЕГЭ.
| |
2.52, Анином (?), 01:45, 15/04/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Всетаки bash как язык программирования крайне неудобен, что повышает вероятность ошибок.
| |
|
3.75, Аноним (-), 21:36, 15/04/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Всетаки bash как язык программирования крайне неудобен, что повышает вероятность ошибок.
Точно такая ошибка с удалением всего содержимого диска есть например в Samsung kies, а он явно не на bash.
| |
|
|
|
2.46, Аноним (-), 00:25, 15/04/2016 [^] [^^] [^^^] [ответить]
| +/– |
Он там уже написал, что перепутал if и of, а потом — что почти всё удалось восстановить.
| |
2.49, Эль (?), 00:47, 15/04/2016 [^] [^^] [^^^] [ответить]
| +/– |
Он в комментариях дальше пишет, что if и of перепутал, когда один из дисков восстанавливал, так что да.
| |
|
1.41, Аноним (-), 23:58, 14/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> бэкапы, хранилище которых было примонтировано к одному из серверов
Правильная архитектура не должна позволять выстрелить себе в ногу. Надо монтировать read-only, или вообще отдавать данные с коиента на сервер.
| |
|
2.71, JL2001 (ok), 15:14, 15/04/2016 [^] [^^] [^^^] [ответить]
| +/– |
>> бэкапы, хранилище которых было примонтировано к одному из серверов
> Правильная архитектура не должна позволять выстрелить себе в ногу. Надо монтировать read-only
проблема в том что это ошибка в скрипте который:
1) и должен работать с пользовательскими данными, тоесть они при его работе будут в w
2) распределяется к работе на все сервера
даже если бы ВЕСЬ диск не поврайтился - пользовательские данные потёрлись бы (даже забывая что сама новость похоже фейковая)
тоесть тут поможет только правильное бэкапирование с версионированием (ну и распределённостью)
| |
|
|
2.72, JL2001 (ok), 15:15, 15/04/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> О, да. Так им и надо! Это все от того, что все боятся сишки.
как будто rm-rf написан не на сишке
правильно делают что боятся !!! сишка убила винт а баш тока отдал преступный приказ !!!!!1112
| |
|
1.47, Аноним (-), 00:27, 15/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
"rm -rf {foo}/{bar}"? Что значит вообще значит? В шелл скриптах для интерполяции используется символ доллара, а в Jinja2 и YAML, которые используются в Ansible, -- две пары фигурных скобок.
| |
1.68, Че (?), 09:11, 15/04/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Как ща помню. Перепутал как-то "./", написав, вместо этого "/." Когда понял, что что-то пошло не так, большая часть файлов в каталоге /dev была удалена. 8-[=====]X
В общем-то, к утру SCO был починен и бодро жужжал ораклом. 8-)
После этого инцидента, правильная команда была засунута в крон, чтобы уже ни какие очумелые ручки не мешались. И костыли эти работали уже до самого конца.
Предыдущий админ сказал, что у него на это ушло двое суток, при поддержке саппорта разработчика.
А вся эта беда была нужна потому, что у софта был какой-то глюк, когда он начинал в великом множестве плодить пустые файлы, что приводило к остановке дисковой системы, по причине занятости всех i-node.
| |
|
2.77, ALex_hha (ok), 13:59, 18/04/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Тем что их поведение не очевидно во многих случаях, всё это описано подробно в bash FAQ.
а какое может быть не очевидное поведение у set -u?
| |
|
|