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

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

رفتن به کانال در Telegram

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

نمایش بیشتر

📈 تحلیل کانال تلگرام Системный администратор

کانال Системный администратор (@i_odmin) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 26 626 مشترک است و جایگاه 4 984 را در دسته فناوری و برنامه‌ها و رتبه 24 577 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 26 626 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 22 ژوئیه, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر 0 و در ۲۴ ساعت گذشته برابر 10 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 10.31% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 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