Системный администратор
Все для системного администратора. По всем вопросам @evgenycarter РКН clck.ru/3KoDXp
Show more📈 Analytical overview of Telegram channel Системный администратор
Channel Системный администратор (@i_odmin) in the Russian language segment is an active participant. Currently, the community unites 26 681 subscribers, ranking 4 877 in the Technologies & Applications category and 24 147 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 26 681 subscribers.
According to the latest data from 05 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 31 over the last 30 days and by 5 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 12.40%. Within the first 24 hours after publication, content typically collects 5.88% reactions from the total number of subscribers.
- Post reach: On average, each post receives 3 308 views. Within the first day, a publication typically gains 1 570 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 12.
- Thematic interests: Content is focused on key topics such as linux, grep, диск, строка, /var.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Все для системного администратора.
По всем вопросам @evgenycarter
РКН clck.ru/3KoDXp”
Thanks to the high frequency of updates (latest data received on 06 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
lsof (List Open Files) для подсчета открытых файлов в системе:
lsof | wc -l
Эта команда покажет общее количество открытых файлов в системе, где wc -l подсчитывает количество строк, то есть количество открытых файлов.
2. Использовать `/proc/sys/fs/file-nr` для просмотра счетчика открытых файлов:
cat /proc/sys/fs/file-nr
Этот файл содержит три числа, разделенные табуляцией:
- Первое число — текущее количество открытых файлов.
- Второе число — количество файлов, которые находятся в ожидании.
- Третье число — максимальное количество файлов, которое система может открыть.
3. Подсчитать открытые файлы для определенного процесса:
Если нужно узнать количество открытых файлов конкретного процесса, можно использовать:
lsof -p PID | wc -l
Замените PID на идентификатор процесса, который вас интересует.
4. Использовать lsof для подсчета открытых файлов конкретным пользователем:
lsof -u username | wc -l
Замените username на имя пользователя, чтобы увидеть количество открытых файлов этим пользователем.
📲 Мы в MAX
👉 @i_odminrm — рискованная операция.
Запуск rm с * — в 10 раз опаснее.
В некоторых случаях полезно заранее посмотреть, какую команду он выполнит после раскрытия шаблонов. Например:
$ echo rm -rf /*
Эта команда выведет в stdout уже развёрнутый результат — по сути, это «пробный запуск» (dry run) для rm -rf /*.
📲 Мы в MAX
👉 @i_odminbash (и других оболочках Unix) разница между командами export VAR="VALUE" и VAR="VALUE" связана с областью видимости переменной:
1. VAR="VALUE":
- Это обычное объявление переменной в текущей оболочке (сессии).
- Переменная VAR будет доступна только внутри текущей сессии, и не будет передаваться дочерним процессам, запущенным этой сессией.
- Например, если вы запустите новую команду или скрипт из текущей оболочки, VAR не будет доступна в этом дочернем процессе.
2. export VAR="VALUE":
- Команда export делает переменную VAR доступной для всех дочерних процессов текущей оболочки.
- То есть, VAR будет установлена и доступна не только в текущей сессии, но и во всех процессах, запущенных из этой сессии.
- Это полезно, когда необходимо передать значение переменной в другие программы или скрипты, запущенные из текущей оболочки.
Для примера
# Присвоение переменной без export
VAR="Hello"
bash -c 'echo $VAR' # Ничего не выведет, так как VAR не экспортирована
# Присвоение переменной с export
export VAR="Hello"
bash -c 'echo $VAR' # Выведет "Hello", так как VAR экспортирована
Таким образом, export используется для того, чтобы переменная была доступна в дочерних процессах, тогда как обычное присвоение без export ограничивает переменную только текущей сессией.
📲 Мы в MAX
👉 @i_odmin
/file print file=myFile
/file set myFile.txt contents=""
Проверка, изменился ли IP на интерфейсе
Иногда провайдер выдает динамические IP-адреса. Этот скрипт проверит, изменился ли динамический IP-адрес.
:global currentIP;
:local newIP [/ip address get [find interface="ether1"] address];
:if ($newIP != $currentIP) do={
:put "ip address $currentIP changed to $newIP";
:set currentIP $newIP;
}
Удаляем сетевую маску
Этот скрипт полезен, если вам нужен IP-адрес без сетевой маски (например, для использования в брандмауэре), но команда "/ip address get [id] address" возвращает IP-адрес вместе с маской.
:global ipaddress 10.1.101.1/24
:for i from=( [:len $ipaddress] - 1) to=0 do={
:if ( [:pick $ipaddress $i] = "/") do={
:put [:pick $ipaddress 0 $i]
}
}
Еще один, гораздо более простой способ:
:global ipaddress 10.1.101.1/24
:put [:pick $ipaddress 0 [:find $ipaddress "/"]]
Определяем имя хоста
Многие пользователи просят добавить возможность использовать DNS-имена вместо IP-адресов для RADIUS-серверов, правил брандмауэра и т.д.
Вот пример того, как определить IP-адрес RADIUS-сервера.
Предположим, что у нас настроен RADIUS-сервер:
/radius
add address=3.4.5.6 comment=myRad
А вот скрипт, который определит IP-адрес, сравнит полученный IP с настроенным и заменит его, если они не совпадают:
/system script add name="resolver" source= {
:local resolvedIP [:resolve "server.example.com"];
:local radiusID [/radius find comment="myRad"];
:local currentIP [/radius get $radiusID address];
:if ($resolvedIP != $currentIP) do={
/radius set $radiusID address=$resolvedIP;
/log info "radius ip updated";
}
}
Добавьте этот скрипт в планировщик, чтобы он выполнялся, например, каждые 5 минут.
/system scheduler add name=resolveRadiusIP on-event="resolver" interval=5m
Записать статистику очереди в несколько файлов
Рассмотрим, что названия очередей выглядят как "some text.1", чтобы мы могли искать очереди по последнему числу сразу после точки.
:local entriesPerFile 10;
:local currentQueue 0;
:local queuesInFile 0;
:local fileContent "";
#determine needed file count
:local numQueues [/queue simple print count-only] ;
:local fileCount ($numQueues / $entriesPerFile);
:if ( ($fileCount * $entriesPerFile) != $numQueues) do={
:set fileCount ($fileCount + 1);
}
#remove old files
/file remove [find name~"stats"];
:put "fileCount=$fileCount";
:for i from=1 to=$fileCount do={
#create file
/file print file="stats$i.txt";
#clear content
/file set [find name="stats$i.txt"] contents="";
:while ($queuesInFile < $entriesPerFile) do={
:if ($currentQueue < $numQueues) do={
:set currentQueue ($currentQueue +1);
:put $currentQueue ;
/queue simple
:local internalID [find name~"\\.$currentQueue\$"];
:put "internalID=$internalID";
:set fileContent ($fileContent . [get $internalID target-address] . \
" " . [get $internalID total-bytes] . "\r\n");
}
:set queuesInFile ($queuesInFile +1);
}
/file set "stats$i.txt" contents=$fileContent;
:set fileContent "";
:set queuesInFile 0;
}
📲 Мы в MAX
👉 @i_odminGet-Help <команда> – получить справку по команде
- Get-Command – список доступных команд
- Get-Command -Module <модуль> – команды из конкретного модуля
- Get-Alias – список псевдонимов команд
- Get-Process – список запущенных процессов
- Get-Service – список служб
Навигация по файловой системе
- Get-Location – текущий путь
- Set-Location <путь> – перейти к каталогу
- Get-ChildItem или ls – просмотр содержимого каталога
- New-Item -Path <путь> -Name <имя> -ItemType <тип> – создать файл или папку
Работа с файлами и папками
- Copy-Item -Path <источник> -Destination <назначение> – копировать файл/папку
- Move-Item -Path <источник> -Destination <назначение> – переместить файл/папку
- Remove-Item -Path <путь> – удалить файл/папку
- Rename-Item -Path <путь> -NewName <новое имя> – переименовать файл/папку
Работа с текстом и выводом
- Write-Output "текст" – вывод текста
- Write-Host "текст" – вывод текста на экран
- Read-Host -Prompt "вопрос" – ввод данных от пользователя
- Get-Content <файл> – чтение содержимого файла
- Set-Content <файл> – запись в файл
- Add-Content <файл> – добавление текста в файл
Переменные
- $<имя_переменной> = значение – создание переменной
- $var += значение – добавление к значению переменной
- $null – пустое значение
Условия и циклы
- if (<условие>) { <действие> } – условие if
- foreach ($item in $array) { <действие> } – цикл foreach
- while (<условие>) { <действие> } – цикл while
Работа с процессами и службами
- Start-Process <программа> – запуск программы
- Stop-Process -Name <имя> – завершение процесса
- Start-Service <служба> – запуск службы
- Stop-Service <служба> – остановка службы
Фильтрация и сортировка
- Where-Object { <условие> } – фильтрация объектов
- Sort-Object <свойство> – сортировка объектов
Примеры:
1. Получение списка файлов:
Get-ChildItem -Path "C:\папка"
2. Копирование файла:
Copy-Item -Path "C:\путь\файл.txt" -Destination "D:\копия\файл.txt"
3. Вывод чисел от 1 до 10:
for ($i = 1; $i -le 10; $i++) { Write-Output $i }
4. Фильтрация процессов по имени:
Get-Process | Where-Object { $_.Name -eq "notepad" }
📲 Мы в MAX
👉 @i_odminipconfig /flushdns
Сбросьте настройки WinSock
netsh winsock reset
Сброс настроек стека TCP/IP
netsh int ip reset
Для сброса настроек TCP/IPv6
netsh int ipv6 reset
Удалить все сетевые адаптеры
netcfg -d
Сброс всех правил Windows Defender Firewall
netsh advfirewall reset
📲 Мы в MAX
👉 @i_odmin/export — экспорт текущей конфигурации.
- /interface print — вывод списка интерфейсов.
- /ip address print — вывод списка IP-адресов.
- /ip route print — вывод таблицы маршрутизации.
- /ip firewall filter print — вывод правил файрвола.
Управление интерфейсами
- /interface enable [имя_интерфейса] — включить интерфейс.
- /interface disable [имя_интерфейса] — отключить интерфейс.
- /interface set [имя_интерфейса] mtu=1500 — изменение MTU на интерфейсе.
Управление IP-адресами
- /ip address add address=192.168.1.1/24 interface=[имя_интерфейса] — добавить IP-адрес на интерфейс.
- /ip address remove [номер] — удалить IP-адрес по номеру из списка.
Настройка маршрутизации
- /ip route add dst-address=0.0.0.0/0 gateway=[ip-шлюза] — добавить маршрут по умолчанию (интернет).
- /ip route remove [номер] — удалить маршрут.
2. Настройка DHCP:
Настройка DHCP-сервера
- /ip dhcp-server setup — пошаговая настройка DHCP-сервера.
- /ip dhcp-server print — просмотр текущих DHCP-серверов.
- /ip dhcp-server lease print — просмотр выданных IP-адресов (lease).
- /ip dhcp-server network add address=192.168.1.0/24 gateway=192.168.1.1 — добавить сеть для раздачи IP-адресов.
Настройка DHCP-клиента
- /ip dhcp-client add interface=[имя_интерфейса] — добавить DHCP-клиента на интерфейс.
- /ip dhcp-client print — просмотр DHCP-клиентов.
3. Настройка NAT (для интернета):
- /ip firewall nat add chain=srcnat action=masquerade out-interface=[интерфейс_WAN] — добавить правило NAT для выхода в интернет.
4. Настройка VLAN:
- /interface vlan add name=vlan10 vlan-id=10 interface=[имя_интерфейса] — создать VLAN с идентификатором 10 на интерфейсе.
- /interface bridge vlan add bridge=[имя_моста] tagged=[интерфейс] vlan-ids=10 — добавить VLAN в мост.
5. Настройка Firewall (Базовые правила):
- /ip firewall filter add chain=input action=accept connection-state=established,related — разрешить уже установленные соединения.
- /ip firewall filter add chain=input action=drop connection-state=invalid — отбросить невалидные пакеты.
- /ip firewall filter add chain=forward action=drop connection-state=invalid — запретить невалидные соединения в цепочке forward.
6. Настройка PPPoE (подключение к интернету через PPPoE):
- /interface pppoe-client add name=pppoe-out1 user=[логин] password=[пароль] interface=[WAN-интерфейс] — создать PPPoE-клиента.
- /ip route add gateway=pppoe-out1 — добавить маршрут через PPPoE.
7. Сохранение и восстановление конфигурации:
Сохранение:
- /system backup save name=[имя_файла] — сохранить полную конфигурацию.
- /export file=[имя_файла] — экспорт конфигурации в текстовый файл.
Восстановление:
- /system backup load name=[имя_файла] — загрузить сохраненную конфигурацию.
- /import file=[имя_файла] — импортировать текстовую конфигурацию.
8. Диагностика:
- /ping [ip-адрес] — пинг IP-адреса.
- /tool traceroute [ip-адрес] — трассировка до IP-адреса.
- /tool bandwidth-test address=[ip-адрес] direction=both — тест скорости соединения.
9. Работа с пользователями:
- /user add name=[имя_пользователя] group=full password=[пароль] — добавить пользователя с полными правами.
- /user remove [имя_пользователя] — удалить пользователя.
- /user print — показать список пользователей.
0. Операции с логами:
- /log print — просмотр последних логов.
- /log print where topics~"[firewall]" — просмотр логов по определенной теме, например, firewall.
📲 Мы в MAX
👉 @i_odmin