Такой инструмент помогает быстро понять, что менялось в системе:
логи, конфиги, временные файлы. Удобно при диагностике, отладке и поиске неожиданных изменений.В этом посте:
• Принимаем параметры и проверяем корректность ввода;
• Ищем все изменённые файлы с помощью find;
• Выводим пути и человекочитаемые размеры;
• Проверяем работу скрипта на реальном каталоге.
Простой способ получить «карту изменений» в любой директории за минуту.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥11🤝7❤2
Например, использование
chmod позволяет корректно задать уровни доступа, а понимание соответствия rwx и числовых значений избавляет от ошибок при настройке разрешений для файлов и директорий.На картинке — ключевые соответствия бинарных, восьмеричных и символьных представлений прав.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16🔥16👍10🤝2
В этом посте собраны 7 команд для анализа проблем при старте системы: от времени запуска сервисов до задержек диска и ошибок драйверов. dmesg, top, iostat, systemd-analyze, journalctl, lsblk, smartctl — всё, что нужно, чтобы быстро понять, что тормозит загрузку.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20❤7👍7🤝2
Многие не задумываются, что стандартизация имён сервисов спасает от путаницы!
Вместо
Тогда
Проверяем статус всех сервисов одной командой:
Быстрый поиск по части имени без путаницы:
Перезапуск группы сервисов brace expansion’ом:
🔥 Стандартизация имён = команды работают везде без локальных танцев с бубном.
🚪 Linux Ready | #совет
Вместо
nginx-web, postgres-main, redis-cache — используй простые имена: nginx.service, postgres.service, redis.service. Тогда
systemctl status/list/ restart работают без запоминания хаотичных названий.Проверяем статус всех сервисов одной командой:
systemctl status nginx postgres redis
Быстрый поиск по части имени без путаницы:
systemctl list-units --type=service --state=running | grep nginx
Перезапуск группы сервисов brace expansion’ом:
systemctl restart {nginx,postgres,redis}.servicePlease open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍6❤5
Онлайн-профилирование CPU-интенсивного процесса через perf без даунтайма!
Когда сервис забирает почти весь
Найти
Горячие функции в реальном времени:
Показывает, какие функции потребляют больше всего
Короткий профиль для детализации:
Небольшой профиль даёт репрезентативный срез и позволяет проваливаться в стеки.
User-space-only + стеки:
Фокус на пользовательском коде и детальные стеки вызовов для точной локализации.
Проверка системных вызовов:
Нагрузка по потокам:
Помогает обнаружить конкретный поток, создающий основную нагрузку.
Права на профилирование:
🔥 Этот набор команд позволяет без остановки сервиса быстро понять, куда именно уходит
🚪 Linux Ready | #практика
Когда сервис забирает почти весь
CPU, важно быстро понять, где именно тратится время — в user-коде, ядре, библиотеках или на блокировках.Найти
PID:pgrep -f myservice
Горячие функции в реальном времени:
sudo perf top -p <PID>
Показывает, какие функции потребляют больше всего
CPU прямо сейчас.Короткий профиль для детализации:
sudo perf record -F 99 -p <PID> -- sleep 15
sudo perf report
Небольшой профиль даёт репрезентативный срез и позволяет проваливаться в стеки.
User-space-only + стеки:
sudo perf record -F 99 -p <PID> -e cycles:u --call-graph=dwarf -- sleep 15
sudo perf report
Фокус на пользовательском коде и детальные стеки вызовов для точной локализации.
Проверка системных вызовов:
sudo strace -p <PID> -tt -T -f -o /tmp/strace.log
Нагрузка по потокам:
top -H -p <PID>
Помогает обнаружить конкретный поток, создающий основную нагрузку.
Права на профилирование:
cat /proc/sys/kernel/perf_event_paranoid
CPU, и принимать решения на основе объективного профиля.Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥7❤6🤝1
❤11🔥9👍5
Для одиночного сервера не всегда нужен
Prometheus и сложные дашборды. Достаточно видеть загрузку CPU, памяти, диска, состояние сервисов и свежие ошибки в логах — это уже закрывает 80% реальных проблем.В этом посте:
• Снимаем быстрый срез по ресурсам (CPU, RAM, диск);
• Простой способ проверки ключевых сервисов через systemd;
• Минимальные приёмы работы с логами nginx;
• Собираем всё это в лёгкий мониторинг.
Будет полезно тем, кто держит свои проекты на
VPS и хочет видеть, что с ними происходит, без тяжёлых систем мониторинга.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥8❤5🤝1
Например,
/bin содержит системные бинарные файлы, а /etc — конфигурации, управляющие поведением системы.На картинке — директории Linux, их назначение и место в иерархии.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤13🔥7🤝1
Мини-скрипт мониторинга файла с логом и простым alert (webhook)
Отслеживаем изменения файла/папки и логируем с таймстампом, при установленном
Файл
Запускаем скрипт в фоне (например, через
Теперь скрипт работает в фоне,
Проверка работоспособности:
Пример ожидаемого вывода
Остановка/очистка. Убираем процесс-монитор:
🔥 В результате скрипт даёт простой и надёжный способ отслеживать изменения файлов и записывать события в лог.
🚪 Linux Ready | #практика
Отслеживаем изменения файла/папки и логируем с таймстампом, при установленном
ALERT_WEBHOOK отправляем короткий POST. Требуется inotifywait (inotify-tools):#!/usr/bin/env bash
WATCH="$1"; LOG="${2:-/var/log/filewatch.log}"
inotifywait -m -e modify,create,delete,move --format '%T %w %e %f' --timefmt '%F %T' "$WATCH" |
while read -r ts path ev file; do
echo "$ts $path $ev $file" >> "$LOG"
[ -n "$ALERT_WEBHOOK" ] && curl -s -X POST -H 'Content-Type: application/json' --data "{\"text\":\"$ts $path $ev $file\"}" "$ALERT_WEBHOOK" >/dev/null 2>&1
done
Файл
/var/log/filewatch.log начнёт пополняться строками вида:YYYY-MM-DD HH:MM:SS /path MODIFY filename.Запускаем скрипт в фоне (например, через
nohup), чтобы он работал независимо от сессии:nohup /usr/local/bin/file-monitor.sh /path/to/watch /var/log/filewatch.log >/dev/null 2>&1 &
Теперь скрипт работает в фоне,
PID виден через pgrep -f file-monitor.sh.Проверка работоспособности:
tail -n 3 /var/log/filewatch.log
Пример ожидаемого вывода
2025-11-11 12:34:01 /path/to/watch MODIFY important.conf
Остановка/очистка. Убираем процесс-монитор:
pkill -f file-monitor.sh && echo "Остановлено" || echo "Процесс не найден"
🔥 В результате скрипт даёт простой и надёжный способ отслеживать изменения файлов и записывать события в лог.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥8❤4
Иногда нужно быстро понять, стал ли сервер жить тяжелее по сравнению со вчера или прошлой неделей, но поднимать
Prometheus лень. Достаточно логировать loadavg в файл и один раз написать скрипт сравнения.В этом посте:
• Логируем нагрузку системы в простой текстовый файл;
• Считаем среднюю нагрузку за выбранный день через awk;
• Функция, которая сравнивает два дня между собой;
• Как вывести среднюю нагрузку за вчера и сегодня.
Подойдёт тем, кто держит несколько
VPS и хочет видеть динамику нагрузки без тяжёлых систем мониторинга.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6🔥5