Когда нужно быстро понять, что происходило с нагрузкой на систему — не обязательно разворачивать Prometheus и Grafana. Bash-скрипт с top, free и awk позволяет каждые N секунд сохранять данные о CPU и памяти в лог-файл, чтобы потом всё спокойно проанализировать.
В этом посте:
• Считываем загрузку CPU и RAM с помощью стандартных утилит.
• Логируем значения с timestamp в отдельный .txt.
• Зацикливаем скрипт для регулярного мониторинга.
• Запускаем всё в фоне или добавляем в cron.
Такой подход помогает следить за системой без внешних зависимостей и сохранять историю нагрузки.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤7👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Вводишь любую команду в терминале, и он по частям объясняет, что делает каждая часть. Не просто man-ка, а понятный синтакс-анализ.
Особенно кайф для тех, кто работает в
Linux/DevOps/CI
среде и хочет разбираться, а не наугад копипастить из StackOverflow
.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥7❤5
Это базовый набор: методы, с помощью которых можно скрыть логику работы скрипта, затруднить анализ, обойти сигнатурные антивирусы и усложнить статический разбор. Подходит как для пентеста, так и для понимания того, как действуют злоумышленники.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍7❤5🤝5👎1
Функции — ключевой инструмент, когда скрипт становится длиннее и сложнее. Они помогают избежать дублирования кода, улучшить структуру и отделить логику по блокам.
В этом посте:
• Объявляем простую функцию и вызываем её.
• Передаём аргументы и работаем с ними внутри.
• Возвращаем значения через echo и $?.
• Используем функции в условиях и циклах.
Функции превращают беспорядочный скрипт в модульный и читаемый код — особенно когда нужно часто повторять одну и ту же операцию.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍7❤3
Иногда сайты могут кратковременно падать: рестарт, ошибка DNS или просто таймаут. Если ты деплоишь, тестируешь или мониторишь доступность — автоматическая повторная проверка может сэкономить время и нервы.
В этом посте:
• Проверяем доступность сайта через curl и ловим код ошибки.
• Добавляем задержку и повтор, если запрос неудачный.
• Ограничиваем число попыток и выводим результат в консоль.
• Легко расширяем под логирование, alert’ы или работу в фоне.
Такой скрипт подойдёт как health-check до деплоя, для CI/CD, мониторинга сайтов или просто как полезный шаблон для диагностики сбоев.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥8❤5
Удаляем пустые директории рекурсивно: порядок в системе — порядок в голове!
В Linux после частых перемещений, распаковок и удалений файлов могут остаться пустые папки. Они не мешают, но засоряют структуру и мешают искать нужное. Решается просто — одной командой через
Вот пример простого скрипта:
Он найдёт и удалит все пустые директории в указанной папке.
Сохрани скрипт, например, как:
И сделай его исполняемым:
Хочешь запускать его регулярно? Добавь в crontab:
🔥 Этот крон запустит скрипт каждое воскресенье в 3:00 ночи.
🚪 Bash Ready | #практика
В Linux после частых перемещений, распаковок и удалений файлов могут остаться пустые папки. Они не мешают, но засоряют структуру и мешают искать нужное. Решается просто — одной командой через
find
.Вот пример простого скрипта:
#!/bin/bash
find /home/motya/projects -type d -empty -delete
Он найдёт и удалит все пустые директории в указанной папке.
-type d
— ищет только директории.-empty
— фильтрует только пустые.-delete
— удаляет найденное.Сохрани скрипт, например, как:
/usr/local/bin/clean-empty-dirs.sh
И сделай его исполняемым:
chmod +x /usr/local/bin/clean-empty-dirs.sh
Хочешь запускать его регулярно? Добавь в crontab:
0 3 * * 0 /usr/local/bin/clean-empty-dirs.sh
🔥 Этот крон запустит скрипт каждое воскресенье в 3:00 ночи.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥4❤1