tgindex

Bash Days | Linux | DevOps

описание

Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.ru

23 756
подписчиков
Охват к подписчикам
29,2%
ERR
Реакции к просмотрам
0,53%
2 196 на 50 постов
Пересылки к просмотрам
1,37%
5 648
Постов в день
0,9
всего 179

Где отзываются чаще

доля реакций к просмотрам
  • 13 авг.Я начал практиковать собесы с закрытыми глазами. Соль тут в том, что глаза закрывает кандидат. Естественно сразу большая часть кандидатов отваливается. Причины — кошка в камеру хуёв напихала, глаза не закрываются с рождения и т.п. Но мы то знаем правду… 90% сидят на ИИшке и зачитывают ответы, это блядь просто смешно выглядит. Сначала кандидат выслушивает вопрос, потом 3 минуты начинает мычать вообще не по теме. А потом чудесным образом приходит в себя и начинает выдавать правильные ответы, что аж от языка отлетает. На прошлой неделе я это сразу просек, попросил закрыть человека глаза и повторить ответ который он только что мне зачитал. Сука… он даже не запомнил, что прочитал. Подвели писю к носу. И что интересно, он не признался, что читал с экрана. Ну да хуй с ним. Мир изменился, поэтому приходится придумывать новые фильтры. На любого хитрожопого, найдется более хитрожопый. Суть тут не заставить человека страдать, а до собеса отсеять пидарасов, которые думают, что они умнее других и занимают чужие места. Если человек заранее соглашается на собес с закрытыми глазами, то тут всё ясно, либо он будет говорить правду, либо это очередной хитрожопый, который придумал способ передачи информации через анальный зонд. Смешно, но скоро так и будет — засунул себе поглубже и мозг наполняется нейросетевыми высерами. Короче мозги не еби, будь честен, прозрачен, можешь припизднуть конечно, но всегда знай меру и балансируй по ситуации. Тыж головастый. 🛠 #workflow — 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog1,69%
  • 15 мар.без подписи1,39%
  • 21 июл.без подписи1,32%
  • 11 авг.Всем привет. Вчера решал задачу фильтрации txt-файла и нашёл конструкцию на awk, от которой испытал эстетический оргазм. Решил с вами ею поделиться. Итак, задача: есть _data.txt_ с данными и _filter.txt_ со списком фильтрации. Строки data.txt обрабатываются, если есть совпадение в filter.txt. Это классическая задача фильтрации (например, обработка белых и чёрных списков). ㅤ И да, я знаю про программы comm и join, с помощью которых можно решать подобные вещи, но мне нравится awk, потому что делает это гибче благодаря наличию языка программирования и не требует предсортировки. 👍 Итак, сама конструкция: awk 'NR == FNR { filter[$0] = 1; next } $0 in filter { print $0, "in filter" }' filter.txt data.txt Обратите внимание: здесь два блока обработки строк, каждый со своим условием 1. NR == FNR { filter[$0] = 1; next } 2. $0 in filter { print $0, "in filter" } Обычно выполняются оба блока: сначала первый, потом второй, но здесь это не так. Первый блок только считывает данные filter.txt в массив filter. Второй обрабатывает только те строки, которые есть в массиве. NR — встроенная переменная, номер записи ДЛЯ ВСЕХ файлов. FNR — аналогична предыдущей, но начинается с 1 для каждого нового файла. filter[$0] = 1 — сохраняем всю строку первого файла как ключ массива. next — сразу переходит к обработке следующей строки. Таким образом, связка условия NR == FNR и next будет работать только для первого файла (filter.txt). Для второго файла условие NR == FNR уже не соблюдается, поэтому первый блок не выполняется, а второй выполняется, если строка данных присутствует в массиве filter. Ну и пример из реальной жизни — filter.txt: RU BY data.txt RU 127.0.0.1 BY 127.0.0.2 US 127.0.0.3 KZ 127.0.0.4 awk 'NR == FNR { filter[$1] = 1; next } $1 in filter { print $2, "in filter" }' filter.txt data.txt 127.0.0.1 in filter 127.0.0.2 in filter Обратите внимание: на выходе только нужные строки и только нужный столбец. Как же это круто! Маленькое ограничение: содержимое filter.txt, загруженное в массив filter, должно помещаться в оперативную память. Иначе система может начать активно использовать swap, а процесс — завершиться из-за нехватки памяти. man awk man comm man join Всем работы без багов. © Tagd Tagd 🛠 #devops #bash #linux — 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog1,30%
  • 28 июл.Команды для спасения вечера сисадмина 💯 После 17:00 — самое подходящее время для срочных задач. Сохраните заранее подборку консольных команд, чтобы сэкономить часы рутины. Собрали для вас самое нужное вместе с Романом Шубиным, СТО и автором канала Bash Days. ❤️ — если было полезно.1,21%
  • 5 авг.Тут ёбнутая тема пошла, чтобы вы могли ходить на нашу апиху, нужно установить сертификаты от Минцифры. ㅤ Я долго это игнорил, пока всё к херам не сломалось. Ошибка: cURL: SSL certificate problem: self-signed certificate in certificate chain Да, в голову сразу пришло решение — ёбнуть SSL Ignore. Но это костыль и безопасники в жопу выебут. Хули, пришлось разбираться. Как оказалось Angie и nginx трогать не надо и всё решается на уровне дистрибутива. У меня убунты старенькие торчат в продах, поэтому затачивал под них. Но смысл не меняется и можешь подкрутить под свои дистрибутивы. Чтобы 100500 команд не вводить, сделал всё одной командой, запускаешь из консольки и всё сразу работает, без костылей и нападок на твой задний проход со стороны ИБешкников. Даже в скрипт сохранять не нужно. Установка РФ-сертификатов: ( set -e cert_tmp="$(mktemp -d)" trap 'rm -rf "$cert_tmp"' EXIT curl -fsSL \ https://gu-st.ru/content/Other/doc/russian_trusted_root_ca.cer \ -o "$cert_tmp/root.crt" curl -fsSL \ https://gu-st.ru/content/Other/doc/russian_trusted_sub_ca.cer \ -o "$cert_tmp/sub.crt" openssl x509 -in "$cert_tmp/root.crt" -noout -subject | grep -Fq "Russian Trusted Root CA" openssl x509 -in "$cert_tmp/sub.crt" -noout -subject | grep -Fq "Russian Trusted Sub CA" root_fingerprint="$( openssl x509 -in "$cert_tmp/root.crt" -noout -fingerprint -sha1 | cut -d= -f2 | tr -d ':' )" test "$root_fingerprint" = "8FF915CCAB7BC16F8C5C8099D53E0E115B3AEC2F" openssl verify \ -CAfile "$cert_tmp/root.crt" \ "$cert_tmp/sub.crt" install -m 0644 "$cert_tmp/root.crt" \ /usr/local/share/ca-certificates/russian_trusted_root_ca.crt install -m 0644 "$cert_tmp/sub.crt" \ /usr/local/share/ca-certificates/russian_trusted_sub_ca.crt update-ca-certificates curl -fsSvo /dev/null https://business.t-bank-app.ru/ ) Ну и всё, если в куче мусора увидел — SSL certificate verify ok, значит всё прошло успешно. Перезапускаешь свои пыхи или чё там у тебя и можно дальше не париться. Такие дела. Изучай. 🛠 #devops #security #bash — 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog1,19%
  • 17 июн.без подписи1,06%
  • 3 авг.Заберите девопса из РЖД, пока он там не автоматизировал вообще всё 🙃 Три года работает с живой инфраструктурой, в его хозяйстве около 300 серверов, кубер на 250+ подов, критичные системы и объекты КИИ. С отличием окончил Linux Factory. Умеет в ансибл, баш, кубер, ArgoCD, Helm, гитлаб, докер, мониторинг и отказоустойчивый PostgreSQL. Из интересного • перевёл все линуксовые серверы на управление через ансибл • сократил ввод нового серверного комплекса до 10 минут • мигрировал критичные системы между ЦОД • настроил автоматический failover PostgreSQL Ему можно отдавать не только ямлики, но и прод. Умеет искать причины проблем, автоматизировать рутину и думает про отказоустойчивость. Ищет удалёнку или гибрид в Санкт-Петербурге. Пиши сюда: @mchernishovv 🛠 #биржатруда — 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog0,95%
  • 14 маябез подписи0,93%
  • 25 маябез подписи0,81%
  • 4 мар.без подписи0,81%
  • 9 июн.без подписи0,75%