ru
Feedback
Системный администратор

Системный администратор

Открыть в Telegram

Все для системного администратора. По всем вопросам @evgenycarter РКН clck.ru/3KoDXp

Больше

📈 Аналитический обзор Telegram-канала Системный администратор

Канал Системный администратор (@i_odmin) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 26 626 подписчиков, занимая 4 984 место в категории Технологии и приложения и 24 577 место в регионе Россия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 26 626 подписчиков.

Согласно последним данным от 22 июля, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило 0, а за последние 24 часа — 10, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 10.31%. В первые 24 часа после публикации контент обычно набирает 5.92% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 2 744 просмотров. В течение первых суток публикация набирает 1 575 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 11.
  • Тематические интересы: Контент сосредоточен на ключевых темах, таких как linux, grep, диск, строка, /var.

📝 Описание и контентная политика

Автор описывает ресурс как площадку для выражения субъективного мнения:
Все для системного администратора. По всем вопросам @evgenycarter РКН clck.ru/3KoDXp

Благодаря высокой частоте обновлений (последние данные получены 23 июля, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

26 625
Подписчики
+1024 часа
+157 дней
Нет данных30 день

Загрузка данных...

Привлечение подписчиков
июль '26
июль '26
+147
в 2 каналах
июнь '26
+196
в 1 каналах
Get PRO
май '26
+291
в 4 каналах
Get PRO
апрель '26
+250
в 0 каналах
Get PRO
март '26
+210
в 1 каналах
Get PRO
февраль '26
+274
в 2 каналах
Get PRO
январь '26
+229
в 5 каналах
Get PRO
декабрь '25
+183
в 0 каналах
Get PRO
ноябрь '25
+195
в 31 каналах
Get PRO
октябрь '25
+212
в 5 каналах
Get PRO
сентябрь '25
+239
в 38 каналах
Get PRO
август '25
+270
в 0 каналах
Get PRO
июль '25
+324
в 27 каналах
Get PRO
июнь '25
+245
в 19 каналах
Get PRO
май '25
+243
в 44 каналах
Get PRO
апрель '25
+318
в 37 каналах
Get PRO
март '25
+365
в 38 каналах
Get PRO
февраль '25
+389
в 32 каналах
Get PRO
январь '25
+394
в 33 каналах
Get PRO
декабрь '24
+362
в 34 каналах
Get PRO
ноябрь '24
+334
в 33 каналах
Get PRO
октябрь '24
+384
в 29 каналах
Get PRO
сентябрь '24
+554
в 28 каналах
Get PRO
август '24
+335
в 18 каналах
Get PRO
июль '24
+219
в 0 каналах
Get PRO
июнь '24
+265
в 24 каналах
Get PRO
май '24
+430
в 20 каналах
Get PRO
апрель '24
+394
в 2 каналах
Get PRO
март '24
+501
в 20 каналах
Get PRO
февраль '24
+484
в 17 каналах
Get PRO
январь '24
+520
в 23 каналах
Get PRO
декабрь '23
+347
в 23 каналах
Get PRO
ноябрь '23
+476
в 17 каналах
Get PRO
октябрь '23
+481
в 17 каналах
Get PRO
сентябрь '23
+476
в 0 каналах
Get PRO
август '23
+369
в 0 каналах
Get PRO
июль '23
+401
в 0 каналах
Get PRO
июнь '23
+384
в 0 каналах
Get PRO
май '23
+384
в 0 каналах
Get PRO
апрель '23
+325
в 0 каналах
Get PRO
март '23
+603
в 0 каналах
Get PRO
февраль '23
+268
в 0 каналах
Get PRO
январь '23
+371
в 0 каналах
Get PRO
декабрь '22
+287
в 0 каналах
Get PRO
ноябрь '22
+234
в 0 каналах
Get PRO
октябрь '22
+296
в 0 каналах
Get PRO
сентябрь '22
+288
в 0 каналах
Get PRO
август '22
+363
в 0 каналах
Get PRO
июль '22
+371
в 0 каналах
Get PRO
июнь '22
+360
в 0 каналах
Get PRO
май '22
+472
в 0 каналах
Get PRO
апрель '22
+403
в 0 каналах
Get PRO
март '22
+502
в 0 каналах
Get PRO
февраль '22
+232
в 0 каналах
Get PRO
январь '22
+364
в 0 каналах
Get PRO
декабрь '21
+409
в 0 каналах
Get PRO
ноябрь '21
+296
в 0 каналах
Get PRO
октябрь '21
+453
в 0 каналах
Get PRO
сентябрь '21
+374
в 0 каналах
Get PRO
август '21
+512
в 0 каналах
Get PRO
июль '21
+335
в 0 каналах
Get PRO
июнь '21
+444
в 0 каналах
Get PRO
май '21
+850
в 0 каналах
Get PRO
апрель '21
+395
в 0 каналах
Get PRO
март '21
+576
в 0 каналах
Get PRO
февраль '21
+560
в 0 каналах
Get PRO
январь '21
+640
в 0 каналах
Get PRO
декабрь '20
+14 897
в 0 каналах
Дата
Привлечение подписчиков
Упоминания
Каналы
23 июля+7
22 июля+15
21 июля+6
20 июля+2
19 июля+9
18 июля+6
17 июля+7
16 июля+5
15 июля+5
14 июля+6
13 июля+3
12 июля+5
11 июля+5
10 июля+9
09 июля+6
08 июля+4
07 июля+6
06 июля+5
05 июля+5
04 июля+8
03 июля+6
02 июля+7
01 июля+10
Посты канала
👩‍💻Трюки Vim. Изменение регистра при замене \U - если используется в схеме замены, то все, что после него, пишется в верхнем регистре \L - строчные символы после него \u - прописные буквы в первом символе того, что следует за ним \l - опускает первый символ следующего за ним символа \e или \E - останавливает прописные или строчные буквы Как мы можем их использовать? Например, мы можем найти все адреса электронной почты и перевести их в нижний регистр: :%s/\S\+@\S\+/\L&/ Ключевая часть здесь - \L перед &. Это означает, что в дальнейшем мы будем писать все в нижнем регистре. Вот еще один вариант. Допустим, мы хотим сделать часть адреса электронной почты, содержащую имя, строчной, но оставить регистр имени компании нетронутым. Таким образом, FirstLast@Company.com станет firstlast@Company.com. В этом случае нам нужно использовать \e (или \E), чтобы завершить манипуляции с регистром символов на полпути к шаблону замены. Окончательная замена будет выглядеть следующим образом: :%s/\(\S\+\)\(@\S\+\)/\L\1\e\2/g Важным моментом здесь является подстановка. Мы используем \L, чтобы начать строчное написание, затем \1 для первого захвата (например, FirstLast), затем \e, чтобы закончить строчное написание, а затем \2 для второго захвата (например, @Company.com). В результате первая часть электронного адреса будет выделена нижним регистром, а все остальное останется неизменным. 📲 Мы в MAX 👉 @i_odmin

2
Базовый минимум: сохранить данные в резервной копии. Роскошный максимум: в один клик продолжить работу критичных сервисов пос
Базовый минимум: сохранить данные в резервной копии. Роскошный максимум: в один клик продолжить работу критичных сервисов после сбоя. Selectel и Хайстекс Акура создали готовый сервис аварийного восстановления (DRaaS), который обеспечивает запуск копий систем в облаке. Это полезно в случае поломок, кибератак и аварий. На практическом вебинаре покажут: • что нужно учесть при проектировании резервной площадки, настройке репликаций, сетей и порядка запуска сервисов. • как организовать резервный контур в другом регионе в облаке Selectel; • и подтвердить реальную готовность аварийного восстановления тестами. 📍 Онлайн ⏰ 30 июля в 12:00 Регистрируйтесь на странице вебинара ➡️ https://slc.tl/c11yg Больше мероприятий для ИТ-специалистов в канале @selectel_events. Подписывайтесь! Реклама. АО "Селектел". erid:2W5zFGs1vY9
1 376
3
Пример Bash-скрипта, который выполняет следующие задачи 1. Проверяет доступность важного веб-сервера. 2. Проверяет использование дискового пространства. 3. Делает бэкап указанных директорий. 4. Отправляет отчет на электронную почту администратора. Пример скрипта: #!/bin/bash # Установки WEB_SERVER="https://example.com" BACKUP_DIR="/backup" TARGET_DIRS="/var/www /etc" DISK_USAGE_THRESHOLD=90 ADMIN_EMAIL="admin@example.com" DATE=$(date +"%Y-%m-%d") BACKUP_FILE="$BACKUP_DIR/backup-$DATE.tar.gz" # Проверка доступности веб-сервера echo "Проверка доступности веб-сервера..." if curl -s --head $WEB_SERVER | grep "200 OK" > /dev/null; then echo "Веб-сервер доступен." else echo "Внимание: Веб-сервер недоступен!" | mail -s "Проблема с веб-сервером" $ADMIN_EMAIL fi # Проверка дискового пространства echo "Проверка дискового пространства..." DISK_USAGE=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g') if [ $DISK_USAGE -gt $DISK_USAGE_THRESHOLD ]; then echo "Внимание: Использование дискового пространства превысило $DISK_USAGE_THRESHOLD%!" | mail -s "Проблема с дисковым пространством" $ADMIN_EMAIL else echo "Дискового пространства достаточно." fi # Создание бэкапа echo "Создание бэкапа..." tar -czf $BACKUP_FILE $TARGET_DIRS if [ $? -eq 0 ]; then echo "Бэкап успешно создан: $BACKUP_FILE" else echo "Ошибка создания бэкапа!" | mail -s "Ошибка создания бэкапа" $ADMIN_EMAIL fi # Отправка отчета echo "Отправка отчета на $ADMIN_EMAIL..." REPORT="Отчет за $DATE\n\n" REPORT+="Статус веб-сервера: $(curl -s --head $WEB_SERVER | head -n 1)\n" REPORT+="Использование дискового пространства: $DISK_USAGE%\n" REPORT+="Расположение бэкапа: $BACKUP_FILE\n" echo -e $REPORT | mail -s "Ежедневный отчет системы" $ADMIN_EMAIL echo "Готово." Описание: 1. Проверка веб-сервера: Используется команда curl, чтобы проверить, доступен ли сайт. 2. Проверка дискового пространства: С помощью df и awk проверяется использование диска. Если превышен порог (90%), отправляется уведомление. 3. Создание бэкапа: Команда tar архивирует и сжимает директории, которые указаны в переменной TARGET_DIRS. 4. Отправка отчета: Отчет по всем операциям отправляется на почту администратора с помощью mail. Как использовать: 1. Задайте нужные параметры, такие как адрес веб-сервера, директории для бэкапа, порог использования диска и email. 2. Сделайте скрипт исполняемым: chmod +x /path/to/your/script.sh 3. Добавьте скрипт в cron для выполнения на регулярной основе: crontab -e Пример для выполнения каждый день в 00:00: 0 0 * * * /path/to/your/script.sh 📲 Мы в MAX 👉 @i_odmin
1 067
4
Настройка Linux Настраиваем iptables с нуля Управление репозиториями в операционной системе Ubuntu IPTables: NAT и Port forwa+5
Настройка Linux Настраиваем iptables с нуля Управление репозиториями в операционной системе Ubuntu IPTables: NAT и Port forwarding Удобная конфигурация SSH-клиента в Linux (Ubuntu) Percona Server for MySQL: запуск в Docker Установка российских корневых сертификатов в Ubuntu источник 📲 Мы в MAX 👉 @i_odmin
1 663
5
Docker в Mikrotik С выходом MikroTik RouterOS версии 7 появилась поддержка контейнеров (Docker), что позволяет запускать стор
Docker в Mikrotik С выходом MikroTik RouterOS версии 7 появилась поддержка контейнеров (Docker), что позволяет запускать сторонние приложения прямо на маршрутизаторе. Это открывает новые возможности как для домашних пользователей, так и для малого бизнеса. На вебинаре подробно рассмотрим: - Обзор Docker в MikroTik RouterOS 7:назначение нового контейнерного пакета, возможности его применения и принцип работы в рамках маршрутизатора. - Типовые сценарии использования:как Docker помогает реализовать функции блокировки рекламы, хранилища данных и медиа-серверов в домашних условиях, а также расширяет возможности. - Настройка Docker-контейнеров в MikroTik: пошаговая демонстрация работы с интерфейсом RouterOS для запуска и конфигурации контейнеров, установка образов, настройка сети. - Совместимость и ограничения: технические особенности внедрения Docker на MikroTik, стабильность работы, аппаратные и программные требования. - Практика развертывания сервисов: примеры установки и настройки полезных приложений внутри MikroTik, включая Asterisk и другие сетевые инструменты. - Оценка применимости Docker в MikroTik: риски и рекомендации — когда стоит использовать контейнеры, а когда лучше воздержаться, особенности эксплуатации в домашних и производственных средах. источник 📲 Мы в MAX 👉 @i_odmin
1 876
6
CMR, SMR жестких дисков HDD Визуальные различия SMR и CMR Seagate SMR 2.5 для ноутбуков SMR и CMR Toshiba Команда TRIM на жес+5
CMR, SMR жестких дисков HDD Визуальные различия SMR и CMR Seagate SMR 2.5 для ноутбуков SMR и CMR Toshiba Команда TRIM на жестких дисках Жесткие диски HGST / Western Digital CMR часть 1 Жесткие диски Western Digital SMR/CMR. Часть 2 источник 📲 Мы в MAX 👉 @i_odmin
2 032
7
Почему в Linux «Всё есть файл»? Или почему гениальные абстракции UNIX настолько гениальны – Ваш терминал и ваше интернет соед
Почему в Linux «Всё есть файл»? Или почему гениальные абстракции UNIX настолько гениальны – Ваш терминал и ваше интернет соединение – это файл! – Да что вы такое говорите? – Скажите ещё, что и мышка в моей руке или жёсткий диск – это тоже файл. – Абсолютно верно! На самом деле, с точки зрения Linux – это так. В этой статье мы докажем это на практике и разберём один из самых неочевидных, но в то же время красивых механизмов UNIX-подобных систем, благодаря которому Linux прошёл проверку временем и стал одной из самых популярных операционных систем в мире. https://habr.com/ru/companies/timeweb/articles/944454/ 📲 Мы в MAX 👉 @i_odmin
2 230
8
🎥 Вебинар: Выбор между Serverless и Kubernetes для AI-ворклоадов: как определить оптимальную платформу под задачу На открыто
🎥 Вебинар: Выбор между Serverless и Kubernetes для AI-ворклоадов: как определить оптимальную платформу под задачу На открытом уроке рассмотрим: - В чем различаются Serverless-подходы и Kubernetes при работе с AI-ворклоадами; - Какие преимущества и ограничения есть у каждого подхода с точки зрения масштабируемости, стоимости и сложности эксплуатации; - Какие трейдоффы нужно учитывать при выборе платформы: холодный старт, управление состоянием, поддержка GPU; - Как обосновывать выбор архитектуры для разных AI-сценариев на практическом воркшопе. После занятия вы будете знать: - Как сравнивать Serverless и Kubernetes для различных AI-задач; - Как выбирать платформу оркестрации в зависимости от требований к нагрузке, бюджету и архитектуре решения; - Как учитывать ключевые технические ограничения при проектировании AI-инфраструктуры; - Как аргументированно обосновывать выбор платформы для задач масштабирования, потоковой обработки данных и построения гибридных сред. ⚠ Открытый урок проходит в преддверии старта курса «ИИ-архитектор». 👉Для участия зарегистрируйтесь: https://vk.cc/cZJGwS Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
2 086
9
Как я автоматизировал очистку Temp на всех ПК в домене Иногда кажется, что папка %TEMP% - это черная дыра. Пользователи жалуются на тормоза, места на диске мало, а ты заходишь туда - и видишь архивы обновлений, временные файлы Office, кэш инсталляторов и прочий мусор за последние сто лет. Руками чистить на каждом ПК? Нет уж. Я сделал это через PowerShell и GPO. Решение: Скрипт для очистки временных файлов запускается через планировщик задач от имени SYSTEM, раз в неделю. Вот пример скрипта: $TempPath = "$env:TEMP" Get-ChildItem -Path $TempPath -Recurse -Force -ErrorAction SilentlyContinue | Where-Object { -not $_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-7) } | Remove-Item -Force -ErrorAction SilentlyContinue Чтобы запускался на всех компах в домене: 1. Создал GPO с task scheduler (Computer Configuration -> Preferences -> Control Panel Settings -> Scheduled Tasks) 2. Указал Action: Create, Run as: SYSTEM, триггер раз в неделю. 3. В Program/script указал powershell.exe, а в аргументах: -ExecutionPolicy Bypass -File \\ваш-сервер\netlogon\clean_temp.ps1 Важно: – Скрипт не трогает свежие файлы (новее 7 дней) – Работает бесшумно, ничего не спрашивает – Можно дополнительно чистить C:\Windows\Temp, если уверены Вывод: Не запускайте такую штуку в logon-скриптах - это затормозит вход в систему. Лучше использовать планировщик задач. И, конечно, тестируйте сначала на паре машин — на всякий случай. 👉 @win_sysadmin
1 755
10
Разжёванный курс по Linux для чайников. Часть 2 0:10 Введение. Ответы на вопросы. 6:00 Негативный поиск(echo, grep, регулярки
Разжёванный курс по Linux для чайников. Часть 2 0:10 Введение. Ответы на вопросы. 6:00 Негативный поиск(echo, grep, регулярки) 24:36 Код возврата приложений 31:42 Логическое И, ИЛИ 38:38 Цикл FOR (Однострочная конструкция) 53:07 Перекур 1:05:16 Понятие скрипта. Скрипт файл. 1:15:09 Переменные окружения (SPATH) 1:30:16 Команда hash 1:42:56 /dev/null 1:48:28 Планировщик задач (Сron) 2:09:34 дом зад 2:16:01 вводный урок. Веб-сервисы. 3:17:03 Реш дом зад(логи регулярки) 4:32:27 Разбор дом зад и непонятных вопросов. 4:39:23 Настройка выделенного сервера 7:03:27 SOA и введение в Docker 📲 Мы в MAX 👉 @i_odmin
1 849
11
После атаки в системе всегда остаются следы. Вопрос в том, умеет ли их кто-то прочитать. Довольно сложно понять, что именно п
После атаки в системе всегда остаются следы. Вопрос в том, умеет ли их кто-то прочитать. Довольно сложно понять, что именно произошло, когда, через что зашли злоумышленники и какие данные могли быть затронуты. Особенно если инфраструктура на Linux — здесь многое устроено иначе, чем в Windows, и без отдельной экспертизы расследование часто застревает на уровне догадок. В Codeby Academy есть практический онлайн-курс «Цифровая криминалистика и реагирование на инциденты в Linux (DFIR)»🚗 За 3,5 месяца вы научитесь проходить полный цикл расследования: от первых признаков компрометации до восстановленной картины атаки. Что внутри: ⏺️ реальные кейсы на основе расследований КИ 2023–2024 ⏺️ сбор и анализ артефактов: логи, процессы, файловая система, сетевая активность ⏺️ работа с open-source инструментами DFIR ⏺️ практика в учебной лаборатории + разбор домашних заданий с преподавателем ⏺️ удостоверение о повышении квалификации после экзамена Ближайший старт — 27 июля. Скидка 30% при оплате сразу. Доступна также поэтапная оплата 6 520 ₽/мес ➡️Записаться и посмотреть программу 🪧Бесплатная консультация @CodebyAcademyBot
1 940
12
Разжёванный курс по Linux для чайников. Часть 1 0:10 Знакомство с Линух (теория) 2:17:17 Командная оболочка (pwd, ls, touch,
Разжёванный курс по Linux для чайников. Часть 1 0:10 Знакомство с Линух (теория) 2:17:17 Командная оболочка (pwd, ls, touch, date, rm, mkdir, rmdir) 2:56:51 stdout и stderr (перенаправление в файл) 2:59:23 связь с космосом (зависла трансляция) 3:11:52 конец связи с космосом(продолжение) 3:37:33 Команды (cр, mv, head, tail, wc, less, grep, cat, маски) 5:03:00 режим питания нарушать нельзя(обед) 5:12:05 продолжение 5:39:11 права пользователей (chmod, inode и т. д.) 6:35:02 SUD (sudo, passwd, stat) 7:27:42 перекур 7:39:17 Регулярные выражения 📲 Мы в MAX 👉 @i_odmin
2 105
13
🎯 Шпаргалка по регулярным выражениям (RegEx) Полезно для всех, кто работает с текстом, логами, парсингом или просто хочет ст
🎯 Шпаргалка по регулярным выражениям (RegEx) Полезно для всех, кто работает с текстом, логами, парсингом или просто хочет стать гуру поиска 🔍 🔤 Символы для сопоставления . — любой символ, кроме перевода строки \w — буква, цифра или подчёркивание \W — любой символ, кроме \w \d — цифра (0–9) \D — любой символ, кроме цифры \s — пробельный символ \S — любой непробельный символ ⚓ Якоря (позиции в строке) ^ — начало строки $ — конец строки \b — граница слова \B — не граница слова ➕ Квантификаторы (повторы) * — 0 или более раз + — 1 или более раз ? — 0 или 1 раз {n} — ровно n раз {n,} — от n раз {n,m} — от n до m раз 🧩 Классы символов [abc] — один из: a, b или c [^abc] — любой, кроме: a, b или c [a-z] — символ от a до z [0-9] — цифра от 0 до 9 🌀 Группировка и выбор (...) — захватывающая группа (?:...) — НЕзахватывающая группа | — логическое ИЛИ (или то, или это) 🛡 Экранирование \ — экранирует спецсимвол (например, \. — точка) 🧪 Примеры \d{3}-\d{2}-\d{4} — формат SSN: 123-45-6789 \w+@\w+\.\w+ — email-адрес 📌 Сохрани, чтобы не потерять! 📲 Мы в MAX 👉 @i_odmin
1 896
14
📈Скрипт показывает, какие каталоги выросли с прошлого запуска Скрипт ниже делает снимок размеров каталогов (через du), а при следующем запуске покажет топ приростов - кто вырос и на сколько. #!/usr/bin/env bash # автор: https://t.me/i_odmin set -Eeuo pipefail usage() { cat <<'HELP' Usage: du-delta.sh [-p PATH] [-d DEPTH] [-n TOP] [-t THRESH] [-s STATE_DIR] -p PATH Корень анализа (по умолчанию /) -d DEPTH Глубина du (по умолчанию 2) -n TOP Сколько строк показать (по умолчанию 15) -t THRESH Порог роста (например 100M, 1G; по умолчанию 100M) -s STATE_DIR Директория состояния (по умолчанию /var/lib/du-delta) -h Помощь Прим.: требуются права на чтение анализируемых каталогов. HELP } PATH_TO="/" DEPTH=2 TOP=15 THRESH="100M" STATE_DIR="/var/lib/du-delta" while getopts ":p:d:n:t:s:h" opt; do case "$opt" in p) PATH_TO="$OPTARG" ;; d) DEPTH="$OPTARG" ;; n) TOP="$OPTARG" ;; t) THRESH="$OPTARG" ;; s) STATE_DIR="$OPTARG" ;; h) usage; exit 0 ;; \?) echo "Неизвестный параметр: -$OPTARG" >&2; usage; exit 1 ;; 🙂 echo "Параметру -$OPTARG нужно значение" >&2; exit 1 ;; esac done to_bytes() { local v="$1" if command -v numfmt >/dev/null 2>&1; then numfmt --from=iec "$v" else awk -v s="$v" 'BEGIN{ n=s; sub(/[KkMmGgTtPp][Bb]?$/,"",n); u=""; if (match(s,/[KkMmGgTtPp]/)) u=substr(s,RSTART,1); m=1; if(u=="K"||u=="k") m=1024; else if(u=="M"||u=="m") m=1024^2; else if(u=="G"||u=="g") m=1024^3; else if(u=="T"||u=="t") m=1024^4; else if(u=="P"||u=="p") m=1024^5; printf "%d", n*m }' fi } human() { local b="$1" if command -v numfmt >/dev/null 2>&1; then numfmt --to=iec --suffix=B "$b" else awk -v b="$b" 'function h(x, a,i){ split("B KiB MiB GiB TiB PiB",a," "); for(i=1; x>=1024 && i<6; i++) x/=1024; return sprintf("%.1f %s", x, a[i]) } BEGIN{print h(b)}' fi } # Определяем совместимый ключ глубины для du if du -d 0 / >/dev/null 2>&1; then DU_DEPTH=(-d "$DEPTH") else DU_DEPTH=(--max-depth="$DEPTH") fi mkdir -p "$STATE_DIR" chmod 700 "$STATE_DIR" # Имя снапшота зависит от пути и глубины safe_name="$(echo "$PATH_TO" | sed 's|/|_|g; s|^_$|root|')_d${DEPTH}.tsv" SNAP_FILE="$STATE_DIR/$safe_name" tmp_cur="$(mktemp)" trap 'rm -f "$tmp_cur"' EXIT # Снимок текущих размеров: "path \t bytes" # -B1: байты, -x: не вылезать на другие ФС, --apparent-size: по желанию (коммент ниже) # Уберите --apparent-size, если хотите считать выделенные блоки, а не логический размер. du -B1 "${DU_DEPTH[@]}" -x --apparent-size "$PATH_TO" 2>/dev/null \ | awk 'BEGIN{OFS="\t"} {sz=$1; $1=""; sub(/^[ \t]+/,""); print $0, sz}' \ | sort -k1,1 > "$tmp_cur" # Если есть предыдущий снимок — считаем дельты THRESH_BYTES="$(to_bytes "$THRESH")" printf "📈 Топ %d приростов в %s (глубина %d, порог %s):\n" \ "$TOP" "$PATH_TO" "$DEPTH" "$THRESH" if [[ -s "$SNAP_FILE" ]]; then awk -F'\t' -v th="$THRESH_BYTES" ' NR==FNR { prev[$1]=$2; next } { cur=$2+0; p=(($1 in prev)?prev[$1]+0:0); d=cur-p; if (d>=th) { print $1 "\t" d } } ' "$SNAP_FILE" "$tmp_cur" \ | sort -k2,2nr \ | head -n "$TOP" \ | awk -F'\t' '{printf " + %-8s %s\n", "'"$(human "$2")"'", $1}' \ || true else echo " (первый запуск — снимаю базовую метрику, сравнивать не с чем)" fi # Обновляем снимок mv -f "$tmp_cur" "$SNAP_FILE" - Быстрый запуск вручную: sudo bash du-delta.sh -p /var -d 3 -t 200M -n 20 - Повесить на cron (каждые 6 часов) и писать в syslog: */6 * * * * root /usr/local/sbin/du-delta.sh -p / -d 3 -t 200M -n 20 | logger -t du-delta Хочешь логический размер файлов (как видит ls -l) - оставляй --apparent-size. Нужен именно занятый на диске объём - убери этот флаг. 💡 Начни с -d 2 для обзора верхних уровней, потом точечно спускайся глубже по «подозрительным» каталогам. 📲 Мы в MAX 👉 @i_odmin
2 033
15
📌 Шпаргалка для работы с Grafana + Loki! 🔥 🚀 Grafana + Loki — мощный стек для централизованного логирования и визуализации логов. Loki собирает логи, а Grafana отображает их в удобном интерфейсе. 🔥 1. Установка и настройка 🛠 Установка Loki 📌 На сервере (Linux) # Создаем директории mkdir -p /etc/loki /var/lib/loki # Загружаем последнюю версию Loki curl -O -L "https://github.com/grafana/loki" # Даем права на исполнение chmod +x loki-linux-amd64 mv loki-linux-amd64 /usr/local/bin/loki 📌 Пример конфига /etc/loki/config.yaml auth_enabled: false server: http_listen_port: 3100 ingester: lifecycler: ring: kvstore: store: inmemory replication_factor: 1 chunk_idle_period: 5m chunk_retain_period: 30s schema_config: configs: - from: 2023-01-01 store: boltdb-shipper object_store: filesystem schema: v11 index: prefix: index_ period: 24h storage_config: boltdb_shipper: active_index_directory: /var/lib/loki/index cache_location: /var/lib/loki/cache shared_store: filesystem limits_config: enforce_metric_name: false reject_old_samples: true reject_old_samples_max_age: 168h chunk_store_config: max_look_back_period: 0s table_manager: retention_deletes_enabled: false retention_period: 0s 📌 Запуск Loki loki -config.file=/etc/loki/config.yaml 🛠 Установка Promtail (для сбора логов) curl -O -L "https://github.com/grafana/loki" chmod +x promtail-linux-amd64 mv promtail-linux-amd64 /usr/local/bin/promtail 📌 Пример конфига /etc/promtail/config.yaml server: http_listen_port: 9080 positions: filename: /var/lib/promtail/positions.yaml clients: - url: http://localhost:3100/loki/api/v1/push scrape_configs: - job_name: system_logs static_configs: - targets: - localhost labels: job: "varlogs" host: "server-1" __path__: /var/log/*.log 📌 Запуск Promtail promtail -config.file=/etc/promtail/config.yaml 🎨 2. Настройка Grafana 📌 Установка (Debian/Ubuntu) sudo apt-get install -y software-properties-common sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" sudo apt-get update sudo apt-get install grafana 📌 Запуск и включение в автозагрузку sudo systemctl start grafana-server sudo systemctl enable grafana-server 📌 Настройка Grafana для Loki 1. Зайти в веб-интерфейс Grafana (http://<server>:3000) 2. Перейти в Configuration → Data Sources 3. Добавить источник Loki - URL: http://localhost:3100 - Access: Server - Save & Test 🔍 3. Запросы в Loki (LogQL) 📝 Базовый синтаксис {job="varlogs"} | json 🔹 Фильтр по метке (job="varlogs") 🔹 Парсинг JSON 🔍 Фильтрация логов {job="varlogs"} |= "error" 🔹 Ищет строки, содержащие "error" {job="varlogs"} != "debug" 🔹 Исключает строки с "debug" 📊 Агрегация логов rate({job="varlogs"}[5m]) 🔹 Подсчет количества записей за последние 5 минут count_over_time({job="varlogs"}[10m]) 🔹 Количество логов за 10 минут sum by (level) (count_over_time({job="varlogs"}[10m])) 🔹 Подсчет логов по уровням (например, error, info) 🛠 4. Управление и отладка 🚀 Перезапуск сервисов systemctl restart loki systemctl restart promtail systemctl restart grafana-server 📂 Просмотр логов journalctl -u loki -f journalctl -u promtail -f journalctl -u grafana-server -f 🔄 Очистка старых логов rm -rf /var/lib/loki/* rm -rf /var/lib/promtail/* 📡 Проверка работы Loki API curl -s "http://localhost:3100/ready" Ответ: ready ✅ 📲 Мы в MAX 👉 @i_odmin
2 014
16
⚙️ Systemd: полное руководство для системного администратора systemd - это не просто инструмент для запуска и остановки служб
⚙️ Systemd: полное руководство для системного администратора systemd - это не просто инструмент для запуска и остановки служб. Он управляет загрузкой Linux, процессами, логами, таймерами, монтированием файловых систем и ограничением ресурсов. В подробном руководстве разобраны: 🔹 архитектура systemd и основные компоненты 🔹 типы юнитов: service, timer, socket, mount и target 🔹 управление службами через systemctl 🔹 просмотр и фильтрация логов с помощью journalctl 🔹 поиск медленных и упавших сервисов 🔹 ограничение CPU и памяти через cgroups 🔹 создание собственного systemd-сервиса 🔹 автоматический перезапуск и защита процессов Полезный материал как для начинающих администраторов, так и для тех, кому нужна удобная шпаргалка по systemd. https://habr.com/ru/articles/942760/ 📲 Мы в MAX 👉 @i_odmin
2 266
17
🔥IT-tools - это коллекция удобных инструментов для разработчиков и инженеров прямо в браузере. Репозиторий предлагает веб-пр+5
🔥IT-tools - это коллекция удобных инструментов для разработчиков и инженеров прямо в браузере. Репозиторий предлагает веб-приложение с большим набором утилит: генераторы, конвертеры, форматтеры, калькуляторы, инструменты для работы с JSON, JWT, UUID, регулярками, HTTP-запросами и многим другим. Фишка проекта - всё может работать локально, без отправки данных на сервер, что делает использование максимально безопасным. Код написан на Vue 3 с использованием TypeScript и Vite, а UI построен на Tailwind CSS. Если нужно быстро что-то закодировать, декодировать, проверить или протестировать - it-tools закрывает большинство повседневных задач. Отличная замена для кучи разрозненных сайтов-утилит. Примеры: 👇 IPv4 subnet calculator https://it-tools.tech/ipv4-subnet-calculator IPv4 address converter https://it-tools.tech/ipv4-address-converter IPv4 range expander https://it-tools.tech/ipv4-range-expander MAC address lookup https://it-tools.tech/mac-address-lookup MAC address generator https://it-tools.tech/mac-address-generator RSA key pair generator https://it-tools.tech/rsa-key-pair-generator https://it-tools.tech/ 📲 Мы в MAX 👉 @i_odmin
3 002
18
🎯 Мониторинг и оптимизация дискового пространства в Linux 💾 Мониторинг использования: • Проверить свободное место: df -h • Размер директории: du -sh /путь/к/директории • Топ-10 крупных папок: du -ah /путь | sort -rh | head -n 10 • Найти большие файлы (>1ГБ): find / -type f -size +1G 2>/dev/null 📂 Очистка места: • Удалить старые логи: find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \; • Очистить кэш: sudo apt-get clean sudo dnf clean all • Удалить временные файлы: sudo rm -rf /tmp/* /var/tmp/* • Удалить старые ядра: sudo apt-get autoremove --purge ⚙️ Автоматизация: • Добавить в crontab задачу для регулярной очистки логов: 0 3 * * 7 find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \; 🔧 Оптимизация: • Перенос крупных папок: mv /большая/папка /mnt/новый_диск ln -s /mnt/новый_диск /большая/папка • Сжатие логов: gzip /var/log/*.log • Удаление дублированных файлов: fdupes -r /путь 🛠️ Полезные утилиты: • ncdu — анализ диска: sudo apt install ncdu && ncdu / • iotop — мониторинг операций с файлами: iotop • fslint — поиск мусорных файлов: sudo apt install fslint 📊 Мониторинг в реальном времени: • Свободное место: df -h • Загрузка диска процессами: iotop • Отслеживание изменений в директории: inotifywait -m /путь 📲 Мы в MAX 👉 @i_odmin
2 247
19
Pfsense для чайников. Отличный маршрутизатор из...хлама. В этом видео я доступно расскажу как установить и начально сконфигур
Pfsense для чайников. Отличный маршрутизатор из...хлама. В этом видео я доступно расскажу как установить и начально сконфигурировать маршрутизатор pfsense. источник 📲 Мы в MAX 👉 @i_odmin
2 770
20
💡Быстрый совет по Linux Если нужно удалить пустые каталоги, команда find упрощает задачу: $ find . -type d -empty -exec rmdi
💡Быстрый совет по Linux Если нужно удалить пустые каталоги, команда find упрощает задачу: $ find . -type d -empty -exec rmdir -v {} + Опция -type d ищет каталоги, -empty выбирает только пустые, а -exec rmdir {} запускает команду rmdir для их удаления. Команда rmdir дополнительно проверяет, что каталог пуст, перед удалением. Альтернативный вариант для того же результата: $ find . -type d -empty -delete 📲 Мы в MAX 👉 @i_odmin
2 740