Премиум каналы

Bash Days | Linux | DevOps

🚀 Хотите узнать больше о мире DevOps, Linux и Bash? Подписывайтесь на мой авторский канал Bash Days! 📺 Здесь вы найдёте актуальные новости, советы и лучшие практики в области DevOps. Я буду делиться своими знаниями и опытом, чтобы помочь вам стать успешным специалистом. 🔧 На канале также будут обзоры полезных инструментов, инструкции и примеры скриптов на Bash, которые сделают вашу работу проще и эффективнее. 🚀 Не упустите возможность присоединиться и стать частью сообщества DevOps! 💪

Последние публикации с канала

что выбрал на майские?

Anonymous Poll

28% - шашлык

55% - день тюлень

35% - работу

28.04.2024 / 15:04

Курс «Быстрый старт в DevOps» бесплатно. Как забрать?

Меня зовут Марсель Ибраев, и на своем канале я делюсь фишками, которые помогут вам начать путь в DevOps.

2 апреля стартовал курс, созданный на основе ваших пожеланий. Мы с командой учебного центра Слёрм ответили на самые актуальные вопросы начинающих девопсеров:
⚡️ что такое DevOps, и как выстроить работу команды в рамках этой методологии;
⚡️ Kubernetes, Docker и т.д.: как базовые инструменты выстраивают работу в DevOps;
⚡️ DevOps и компания: как состыковать критерии успеха.

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

🔗 ЗАБРАТЬ КУРС

erid: 2Vtzqv8A2ek

28.04.2024 / 09:04

Яндекс приглашает начинающих DevOps-инженеров на летнюю стажировку в формате «Технолето»

Студентов ждет насыщенная и яркая программа стажировки. Участники смогут пообщаться с топовыми специалистами компании, познакомиться с передовыми технологиями Яндекса, а также зажечь под диджей-сеты и на Алгорейв-вечеринках.

Во время обучения начинающие DevOps-специалисты научатся развивать инфраструктуру и мониторинг компонентов сервиса, улучшать процессы разработок и CI/СD, разбираться в архитектуре высоконагруженных распределенных систем и многое другое. А если хочется погрузиться в другую сферу, то на стажировке есть возможность освоить бэкенд, фронтенд, машинное обучение, QA, DevOps и другие IT-направления.

Стажировка оплачивается, кроме того, студенты могут выбрать для себя удобный график обучения — в течение 3, 4 или 6 месяцев. По итогам у стажеров есть все шансы получить оффер в Яндексе. По статистике, больше половины стажеров переходят в штат компании.

Оставляй заявку на участие и проведи лето ярко.

27.04.2024 / 13:04

Алиасы штука удобная, со временем они становятся зоной комфорта, экономят время, особенно на локальной машине. Но как использовать готовые алиасы в своих bash скриптах?

Сегодня про это и поговорим. Смотри, есть у тебя алиас в .bashrc:

alias glist="ls -la"


Тут понятно, вводим glist а оно по умолчанию интерпретируется как ls -la. А теперь напишем простой bash скрипт:

#!/bin/bash

alias
echo "hello bashdays"
glist


И вот незадача. Получаем ошибку: glist: command not found

Ну оно и ежу понятно. Алиасы тут никаким боком к скрипту не привязаны.

Команда alias по идее должна была вывести все алиасы, которые прописаны, но она этого не сделала.

И как быть?

Городить в самом скрипте всё необходимое? Ну можно и так, но есть способ изящнее.

Изменяем скрипт:

#!/bin/bash -i

alias
echo "hello bashdays"
glist


Добавился ключик -i, с помощью него мы запускаем оболочку bash в интерактивном режиме. Само собой подтягиваются всякие bashrc и т.п. как при обычно логине.

✔️ Теперь при запуске скрипта:

1. Выведется список всех алиасов
2. Выведется строка из echo
3. Отработает алиас glist == ls -la

Можно конечно еще и через source, shopt -s expand_aliases и прочие велосипеды подобное сделать, но через ключик -i более нативнее что-ли получается.

Если же нет возможности поправить скрипт, как вариант, прописываем в bashrc такую строчку:

function glist () { command ls -la "$@"; }; export -f glist


Теперь даже без ключа -i функция glist будет работать в любом скрипте без вмешательства в него.

Короче везде свои нюансы. Но вообще как совет — не нужно привязываться к алиасам, если нужно сделать ls -la, так и пиши в скрипте, нахер эти спагетти, оставь их для ансибла.

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

tags: #bash #linux

@ВАSНDАYS | BАSHDАYS.CОM

25.04.2024 / 13:04

Почему 99% девопсов жирные?

Ну ясно понятно, из-за стресса, а не из-за того, что много жрут и ведут сидячий образ жизни.

Далеко ходить не будем. Вчера мы с тобой тёрли за cruft, поэтому делюсь еще одной штукой, которую также применяю.

✔️ Утилита называется — debsums

Она предназначена для проверки целостности файлов, которые установлены пакетным менеджером. Вроде хуйня, а НЕТ! Инструмент — мастхэв.

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

Откуда берутся эталонные хэши?

При установке пакетов и т.п. все эталонные, контрольные суммы попадают в «базу данных», которая находится тут: /var/lib/dpkg/info.

В ней содержатся файлы с данными, которые и использует debsums для проверки.

Например, nginx-common.md5sums

dba41b  system/nginx.service
17d6d7 package-hooks/source_nginx.py
9e33ba nginx-common/NEWS.Debian.gz
6c278a nginx-common/README.Debian


Ну дак вот. Debsums либо идет сразу в коробке, либо ставится через пакетный менеджер.

У меня в Селектел на убунте 22 уже была предустановлена, хотя локально её не было. Имей это ввиду.

Запускаем так

debsums -a


В этом случае, будут проверяться все хэш суммы, всех файлов. Это дохуя долго, но иногда полезно если разбираешься с сервером, на который через php залили крипто-майнер или нечто подобное.

Если нужно проверить только измененные:

debsums -ac


Опять же очень полезно при миграциях с сервера на сервер.

А для проверки только конфигов:

debsums -ae


Например, я в душе не ебал что файл php.ini кто-то правил, а debsum мне это подсказал. И я не зафакапил.

После отработки команды, имеем список измененных файлов:

/etc/crontab
/sbin/start-stop-daemon
/etc/modprobe.d/blacklist.conf
/etc/nginx/sites-available/default
/etc/php/8.1/fpm/pool.d/www.conf
/etc/sysctl.conf
/etc/sudoers
/etc/pam.d/sudo
/etc/systemd/zram-generator.conf


Ну а дальше включаем в себе подозрительного аналитика и разбираемся с полученной информацией. Также можно быстро визуально понять, какой софт устанавливался и какими внешними пакетами напичкан сервер.

Указав ключ -x весь её высер можно сразу выгрузить в файл. В отчет попадут только измененные файлы.

Из минусов — пиздец долго всё ищет (при полной проверке). Запускаем и идем пить кофе/смотреть мультики. Но это приятное ожидание, плюсы покрывают минусы.

Рекомендую взять на вооружение, утилита довольно пиздатая и достойна твоего внимания.

Подобных утилит много, из тех что я знаю: AIDE, Tripwire, rkhunter, chkrootkit, ossec, Lynis. Присмотрись и к ним, возможно найдешь среди них что-то интересное под свои задачи.

Ну вот и всё. Пойдука я чайку хапну. Хорошего тебе дня!

tags: #linux #utils

@ВАSНDАYS | BАSHDАYS.CОM

21.04.2024 / 10:04

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

Если ты не уверен, что сегодня выходной, этот Bash скрипт тебе поможет:

if [[ $(date +%u) -gt 5 ]]; then
echo 'А вот и нет! У меня выходной!'
exit 0
fi


Вот прям сейчас возьми и встрой это во все свои поделки на проде. И ни один крон не заставит их работать по выходным.

✔️ Скрипты тоже должны отдыхать!

С праздниками посложнее будет, но если добавить и их в логику, привязать например к производственному календарю, тогда тебя точно на ретроспективе похвалят и дадут пизды премию. Правда посмертную.

А если ты живешь в жопе мира, например в племенах Масаи и спишь под кустом, естественно скрипт нужно немного адаптировать. Ведь у тебя выходные дни будут выпадать на другие дни недели. Учти это!

Ну красота же! Прям рубрика «Вредные советы» получилась. Экспериментируй.

tags: #linux #bash

@ВАSНDАYS | BАSHDАYS.CОM

15.04.2024 / 09:04
Отзывы: - 0
Поделитесь вашим мнением! Оставьте отзыв:

Похожие

Избранное