DevOps Ready | IT
6.33K subscribers
671 photos
52 videos
303 links
Авторский канал по DevOps разработке.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/devops_ready
Download Telegram
😁23🔥7👍4🤝1
Как гарантировать, что скрипт или команда не запустится дважды?

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

PID-файлы — ненадёжны.
Проверки через ps — гонки.

В Linux есть решение — flock.
Запустить команду, только если она ещё не выполняется:
flock -n /tmp/deploy.lock deploy.sh


Если блокировка занят, flock завершится с ошибкой, команда не стартует.

Для скриптов ещё надёжнее:
exec 9>>/tmp/job.lock
flock -n 9 || exit 1


С этого момента гарантированно: только один экземпляр, блокировка снимается автоматически при exit.

🔥 flock — это advisory-блокировка ядра с атомарной установкой, а не договорённость скриптов. Используйте её для cron, деплоя, миграций, бэкапов и CI-шагов.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍7🔥5
Анализ поведения приложения через фаззинг статус-кодов!

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

Для начала установим инструмент ffuf, который является золотым стандартом для быстрого фаззинга веб-ресурсов:
sudo apt update && sudo apt install ffuf -y


Результат: утилита готова к работе, проверь установку командой ffuf -V

Создадим небольшой словарь потенциальных путей и запустим сканирование целевого узла с фильтрацией по кодам ответа:
# Фаззинг путей с отображением кодов 200, 301 и 403
ffuf -u http://localhost:8080/FUZZ -w /usr/share/wordlists/dirb/common.txt -mc 200,301,403


Результат: в консоли появится таблица с путями, которые вернули указанные статусы.

Исключаем ответы с размером 4242 байта, которые могут быть кастомной страницей 404:
ffuf -u http://localhost:8080/FUZZ -w dict.txt -fs 4242


Результат: в выводе останутся только те запросы, чей контент отличается от стандартной заглушки.

Команда для быстрой проверки доступности целевого URL перед началом фаззинга:
curl -I http://localhost:8080


🔥 Помни, что агрессивное сканирование легко детектируется системами защиты (WAF/IDS), поэтому всегда настраивай задержки между запросами.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
✍️ TLDR Pages — короткая и полезная документация для командной строки!

Если ты устал от длинных и перегруженных man-документаций сохраняй этот репозиторий. Tldr-pages даёт короткие и практичные примеры команд для Linux, macOS и Windows: git, docker, ssh, grep, tar и сотен других утилит. Без теории и лишнего текста - только то, что действительно используют в работе.

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍87
Низкоуровневый аудит процесса в Linux!

Когда top и htop уже не дают ответов, вся реальная картина состояния процесса находится в /proc.

Аргументы запуска процесса (argv):
cat /proc/PID/cmdline | tr '\0' ' '


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

Пример вывода:
/usr/bin/python3 worker.py --queue=emails --env=prod


Память процесса:
cat /proc/PID/status | grep -E 'VmRSS|VmSize|VmSwap'


VmRSS — реально занятая RAM

VmSize — виртуальное адресное пространство процесса

VmSwap — объём, вытесненный в swap


Пример:
VmRSS:   412384 kB
VmSwap: 65536 kB


Детальная карта памяти процесса:
cat /proc/PID/smaps


Позволяет понять, где именно расходуется память: private, shared, file-backed. На больших процессах может быть тяжёлым.

Открытые файлы и сокеты процесса:
ls -l /proc/PID/fd


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

Количество потоков внутри процесса:
ls /proc/PID/task | wc -l


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

Реальный исполняемый файл процесса:
readlink /proc/PID/exe


Права и capabilities процесса:
cat /proc/PID/status | grep Cap


🔥 Короткая практическая выжимка для анализа процессов на уровне procfs/ядра.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍10🔥10
Forwarded from Linux Ready | DevOps
День рождения Линуса Торвальдса: создателю Linux и Git исполнилось 56 лет!

Сегодня, 28 декабря, мир IT отмечает день рождения Линуса Бенедикта Торвальдса. Он родился в 1969 году в Хельсинки и начал программировать в 11 лет на Commodore VIC-20.

В 1991 году Линус выпустил ядро Linux, ставшее основой серверов, Android и тысяч embedded-систем. В 2005 году создал Git, который появился как быстрый инструмент для разработки самого Linux и за считанные годы стал стандартом индустрии.

@linux_ready
23🔥11👍9
📂 Наглядная шпаргалка по 8 популярным сетевым протоколам!

Тут мы видим, как работают HTTP/HTTPS, WebSocket, TCP/UDP, SMTP и FTP, а также в каких сценариях их обычно применяют: от веб-браузинга и чатов до видео-конференций и загрузки файлов.

Сохрани, чтобы быстро вспоминать, какой протокол за что отвечает и чем они отличаются по механике работы и use case.

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍98
Как мгновенно откатить ошибочную команду в shell!

Запустил команду и сомневаешься, что она делает? Повтори последнюю команду без выполнения, просто выведи её:
!!:p


!! — последняя команда из истории, :p — print only.

Хочешь, чтобы при повторе команда сначала появлялась в терминале для проверки, а не исполнялась сразу?
shopt -s histverify


Теперь при вводе:
!!


🔥 Команда вставится в строку, но не выполнится, пока не нажмёшь Enter. Если увидел, что это не то — просто редактируй или отменяй.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥76👍6
This media is not supported in your browser
VIEW IN TELEGRAM
😎 Держите iximiuz Labs — интерактивную платформу для обучения прямо в браузере!

Это больше, чем просто эмулятор: запускайте Ubuntu, Debian, Kali и другие дистрибутивы, работайте с терминалом, настраивайте сервисы и экспериментируйте с командами. Идеально для практики системного администрирования, DevOps и информационной безопасности.

📌 Оставляю ссылочку: labs.iximiuz.com

➡️ DevOps Ready | #сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍7🤝7
Девопсеры, с наступающим! 🎄

Желаю
каждому провести новый 2026 год намного лучше и выполнить все планы. Моя цель: набрать более 15 тысяч подписчиков.
Please open Telegram to view this post
VIEW IN TELEGRAM
23🔥12👍7
🖼️ Сегодня разбираем 7 приёмов работы с docker-compose в локальной среде!

В этом посте собраны ключевые команды и техники: от мгновенного перезапуска отдельных сервисов до глубокой очистки окружения и просмотра логов. Эти методы помогают тратить меньше времени на ожидание билдов и больше — на написание кода.

➡️ DevOps Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍53🤝2
📂 Напоминалка по базовым сетевым сервисам и портам!

Например, DNS переводит домены в IP-адреса, HTTPS отвечает за безопасное соединение с сайтами и API, а SSH позволяет безопасно подключаться к серверам.

На картинке — сетевые сервисы, их протоколы и стандартные порты, которые постоянно встречаются в backend, DevOps и инфраструктурной работе.

Сохрани, чтобы не забыть!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍97🔥6
Открываем ISO-образы в Linux без распаковки!

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

Монтирование в режиме только для чтения:
sudo mkdir -p /mnt/iso
sudo mount -o loop,ro image.iso /mnt/iso


Проверка монтирования и просмотр содержимого:
findmnt /mnt/iso
ls /mnt/iso


Копирование файлов с сохранением доступных в образе атрибутов:
cp -a /mnt/iso ~/iso-copy/


Сохранение прав, симлинков и расширенных атрибутов зависит от наличия поддержки Rock Ridge/Joliet в самом ISO. Ключ -a копирует только те метаданные, которые реально присутствуют и доступны.

Размонтирование:
cd ~
sudo umount /mnt/iso


Shell-функция для частого использования с автоматической очисткой:
mountiso() {
local dir
dir=$(sudo mktemp -d /tmp/iso-XXXXXX)
sudo mount -o loop,ro "$1" "$dir" && cd "$dir"
echo "Для размонтирования выполните: sudo umount $dir && sudo rmdir $dir"
}


Вызов:
mountiso ./ubuntu-24.04.iso


🔥 Образ подключается в ro и остаётся неизменным. В контейнерах нужны CAP_SYS_ADMIN и доступ к /dev/loop* или запуск с --privileged.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍8🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
💡 The Art of Command Line — приёмы для работы в терминале!

Этот репозиторий включает лучшие практики и команды для Linux/macOS терминала. Здесь собраны приемы, комбинации CLI-утилит, практики, которые помогают работать быстрее, искать ошибки, обрабатывать данные и автоматизировать рутинные задачи. Отличный ресурс, чтобы повысить эффективность работы.

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍97🔥7
🖼️ Как спланировать структуру репозиториев, чтобы инфраструктура не превратилась в ад?

Правильная архитектура Git-репозиториев в DevOps — это не про красоту папок, а про безопасность деплоя, скорость отката и удобство командной работы.

В этом посте:
Монорепозиторий или Полирепозиторий: что выбрать под ваш масштаб?

Структура IaC: почему модули должны жить отдельно от окружений;

Слоеная архитектура: разделяем Core, Platform и App уровни;

GitOps подход: как автоматизировать связь между кодом и манифестами.


Хорошая структура позволяет масштабировать систему без боли и лишних митингов. Разбираемся, как заложить фундамент правильно.

➡️ DevOps Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥4