Media is too big
VIEW IN TELEGRAM
Инструменты мониторинга трафика в Mikrotik
Первый способ:
Использование инструмента Torch в разделе Queue для реального времени анализа трафика через интерфейс Bridge, что помогает выявить потребление трафика на конкретных сайтах.
Второй способ:
Отслеживание активных соединений в разделе IP Firewall Connections с возможностью сортировки по IP-адресам, портам и количеству переданных данных, а также использование командной строки для детального анализа и настройки QoS.
Эти методы помогают эффективно контролировать и управлять сетевым трафиком.
источник
📲 Мы в MAX
👉 @i_odmin
Первый способ:
Использование инструмента Torch в разделе Queue для реального времени анализа трафика через интерфейс Bridge, что помогает выявить потребление трафика на конкретных сайтах.
Второй способ:
Отслеживание активных соединений в разделе IP Firewall Connections с возможностью сортировки по IP-адресам, портам и количеству переданных данных, а также использование командной строки для детального анализа и настройки QoS.
Эти методы помогают эффективно контролировать и управлять сетевым трафиком.
источник
📲 Мы в MAX
👉 @i_odmin
👍7❤3🔥1
Forwarded from Bash Советы
🔥 Автоматическая проверка и перезапуск упавших сервисов
Скрипт, который проверяет список сервисов и перезапускает их при необходимости.
📌 Как использовать:
1. Сохраните скрипт, например, в
2. Дайте права на выполнение:
3. Добавьте в
📲 Мы в MAX
👉@bash_srv
Скрипт, который проверяет список сервисов и перезапускает их при необходимости.
#!/bin/bash
# автор: https://t.me/bash_srv
# Список сервисов для проверки
services=("nginx" "mysql" "ssh")
for service in "${services[@]}"; do
if ! systemctl is-active --quiet "$service"; then
echo "$(date '+%Y-%m-%d %H:%M:%S') - $service не работает. Перезапускаем..."
systemctl restart "$service"
# Можно отправить уведомление в Telegram или email
else
echo "$(date '+%Y-%m-%d %H:%M:%S') - $service работает."
fi
done
📌 Как использовать:
1. Сохраните скрипт, например, в
/usr/local/bin/service_check.sh.2. Дайте права на выполнение:
chmod +x /usr/local/bin/service_check.sh
3. Добавьте в
cron для регулярной проверки, например, каждые 5 минут:
*/5 * * * * /usr/local/bin/service_check.sh >> /var/log/service_check.log 2>&1
📲 Мы в MAX
👉@bash_srv
👍12
Шпаргалка по systemd
Управление состояниями системы:
1. Перезагрузка системы:
2. Выключение системы:
3. Перевести систему в спящий режим:
4. Перевести систему в гибернацию:
5. Перевести систему в гибридный режим сна:
Работа с юнит-файлами:
1. Показать путь к юнит-файлу службы:
2. Редактирование юнит-файла службы:
Команда откроет конфигурацию в редакторе. Можно использовать флаг --full для редактирования полной версии юнит-файла.
3. Переактивация всех юнитов после изменений:
4. Показать конфигурацию службы:
5. Показать все зависимости службы:
Логи:
1. Просмотр логов службы:
2. Просмотр системных логов с конца:
3. Просмотр логов для текущей сессии:
4. Просмотр логов ядра:
Другие полезные команды:
1. Получить статус загрузки:
2. Перевести систему в однопользовательский режим (rescue mode):
3. Перевести систему в режим восстановления (emergency mode):
Описание формата юнит-файлов:
Юнит-файлы обычно хранятся в /etc/systemd/system/ или /lib/systemd/system/.
- [Unit] — Определяет общие атрибуты юнита, такие как описание и зависимости.
- [Service] — Конфигурация для сервисов, например, что запускать (`ExecStart=`) и как управлять процессом.
- [Install] — Настройки для включения или отключения юнита при загрузке.
Пример юнит-файла:
📲 Мы в MAX
👉 @i_odmin
Управление состояниями системы:
1. Перезагрузка системы:
systemctl reboot
2. Выключение системы:
systemctl poweroff
3. Перевести систему в спящий режим:
systemctl suspend
4. Перевести систему в гибернацию:
systemctl hibernate
5. Перевести систему в гибридный режим сна:
systemctl hybrid-sleep
Работа с юнит-файлами:
1. Показать путь к юнит-файлу службы:
systemctl show -p FragmentPath <имя_сервиса>
2. Редактирование юнит-файла службы:
systemctl edit <имя_сервиса>
Команда откроет конфигурацию в редакторе. Можно использовать флаг --full для редактирования полной версии юнит-файла.
3. Переактивация всех юнитов после изменений:
systemctl daemon-reload
4. Показать конфигурацию службы:
systemctl cat <имя_сервиса>
5. Показать все зависимости службы:
systemctl list-dependencies <имя_сервиса>
Логи:
1. Просмотр логов службы:
journalctl -u <имя_сервиса>
2. Просмотр системных логов с конца:
journalctl -e
3. Просмотр логов для текущей сессии:
journalctl -b
4. Просмотр логов ядра:
journalctl -k
Другие полезные команды:
1. Получить статус загрузки:
systemctl is-system-running
2. Перевести систему в однопользовательский режим (rescue mode):
systemctl rescue
3. Перевести систему в режим восстановления (emergency mode):
systemctl emergency
Описание формата юнит-файлов:
Юнит-файлы обычно хранятся в /etc/systemd/system/ или /lib/systemd/system/.
- [Unit] — Определяет общие атрибуты юнита, такие как описание и зависимости.
- [Service] — Конфигурация для сервисов, например, что запускать (`ExecStart=`) и как управлять процессом.
- [Install] — Настройки для включения или отключения юнита при загрузке.
Пример юнит-файла:
[Unit]
Description=Пример сервиса
After=network.target
[Service]
ExecStart=/usr/bin/пример-программы
Restart=on-failure
[Install]
WantedBy=multi-user.target
📲 Мы в MAX
👉 @i_odmin
👍8❤1🔥1
Media is too big
VIEW IN TELEGRAM
Настройка двух интернет-провайдеров на MikroTik с резервированием
В данном видео мы настроим два интернет-провайдера на MikroTik и реализуем автоматическое переключение с одного провайдера на другой в случае недоступности первого.
00:00 Вступление
00:58 Настройка основного интернета
05:01 Настройка резервного интернета
06:39 Ручное переключение
09:13 Автоматическое переключение
10:02 Добавляем маршрут
11:16 Netwatch
11:57 Пишем команды
14:07 Проверка работы
15:28 Важный нюанс
источник
📲 Мы в MAX
👉 @i_odmin
В данном видео мы настроим два интернет-провайдера на MikroTik и реализуем автоматическое переключение с одного провайдера на другой в случае недоступности первого.
00:00 Вступление
00:58 Настройка основного интернета
05:01 Настройка резервного интернета
06:39 Ручное переключение
09:13 Автоматическое переключение
10:02 Добавляем маршрут
11:16 Netwatch
11:57 Пишем команды
14:07 Проверка работы
15:28 Важный нюанс
источник
📲 Мы в MAX
👉 @i_odmin
👍9❤1
🧠 RegExp: Как найти строки с IP-адресами в логах
Частая задача — выцепить IP-адреса из логов. Вот регулярка и однострочник, которые помогут:
📌 Что делает:
-
-
💡 Можно дополнительно убрать дубликаты и отсортировать по частоте:
🚀 Покажет топ IP-адресов по количеству обращений — удобно для анализа трафика и выявления подозрительной активности.
📲 Мы в MAX
👉 @i_odmin
Частая задача — выцепить IP-адреса из логов. Вот регулярка и однострочник, которые помогут:
grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/nginx/access.log
📌 Что делает:
-
-Eo — включаем расширенные регулярки и выводим только совпадения-
([0-9]{1,3}\.){3}[0-9]{1,3} — шаблон для IPv4-адресов💡 Можно дополнительно убрать дубликаты и отсортировать по частоте:
grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head
🚀 Покажет топ IP-адресов по количеству обращений — удобно для анализа трафика и выявления подозрительной активности.
📲 Мы в MAX
👉 @i_odmin
👍5🔥4
alias — команда, позволяющая создавать более краткие или более привычные псевдонимы для часто используемых команд
Команда alias позволяет всего лишь связать псевдоним с произвольной командой. Механизм псевдонимов позволяет устанавливать более короткие или привычные имена для часто используемых команд. Еще одним преимуществом данного механизма является возможность использования в составе псевдонимов аргументов команд. Впервые данный механизм был реализован в рамках командной оболочки csh, после чего он был перенесен в такие командные оболочки, как bash и другие.
Синтаксис команды для установки псевдонима зависит от используемой командной оболочки. В случае командных оболочек, основанных на Bourne shell (ksh, bash, и других, но не sh), синтаксис является следующим:
В том случае, если при вызове команды должна осуществляться передача аргументов, следует использовать одинарные или двойные кавычки:
В случае же командных оболочек, основанных на csh (csh, tcsh и других), кавычки не требуются:
Несложно заметить, что главное отличие в данном случае заключается в использовании знака равенства и необходимости использования кавычек. При вызове команды alias без аргументов будет выведен список объявленных в текущее время псевдонимов.
После установки псевдоним будет работать лишь в рамках текущей сессии командной оболочки. Для того, чтобы активировать этот псевдоним на постоянной основе, вам придется добавить его в один из файлов конфигурации используемой в текущее время командной оболочки. В случае командной оболочки bash псевдонимы для отдельных пользователей чаще всего размещаются в файле конфигурации ~/.bashrc, а общесистемные псевдонимы — в файле конфигурации /etc/profile. В случае командной оболочки tcsh аналогичными файлами конфигурации являются файлы ~/.tcshrc и /etc/login соответственно.
Примеры
Простой псевдоним для пользователей операционной системы DOS:
А это пример более сложного псевдонима:
Данный псевдоним упрощает обращение к списку наиболее часто используемых команд и может стать шаблоном для новых псевдонимов.
А это еще один пример псевдонима для ознакомления со списком смонтированных дисковых разделов:
Механизм функций командной оболочки может выполнять ту же работу, что и механизм псевдонимов, но он гораздо сложнее в использовании. В отличие от функций, псевдонимы не позволяют осуществлять подстановку значений переменных.
Например, даже такая простая функция, как
не может быть преобразована в псевдоним из-за использования переменной "$1".
Установка псевдонима на постоянной основе
Для установки псевдонима на постоянной основе для всех пользователей, всех командных оболочек (ksh, bash, …) и всех типов командных оболочек (использующихся и не использующихся для входа в систему) вам придется:
- модифицировать файл конфигурации /etc/profile для командных оболочек, использующихся для входа в систему
- модифицировать файл конфигурации /etc/bash_bashrc для командных оболочек, не использующихся для входа в систему
Деактивация псевдонима
Используйте команду unalias.
📲 Мы в MAX
👉 @i_odmin
Команда alias позволяет всего лишь связать псевдоним с произвольной командой. Механизм псевдонимов позволяет устанавливать более короткие или привычные имена для часто используемых команд. Еще одним преимуществом данного механизма является возможность использования в составе псевдонимов аргументов команд. Впервые данный механизм был реализован в рамках командной оболочки csh, после чего он был перенесен в такие командные оболочки, как bash и другие.
Синтаксис команды для установки псевдонима зависит от используемой командной оболочки. В случае командных оболочек, основанных на Bourne shell (ksh, bash, и других, но не sh), синтаксис является следующим:
$ alias <псевдоним>=<команда>В том случае, если при вызове команды должна осуществляться передача аргументов, следует использовать одинарные или двойные кавычки:
$ alias <псевдоним>="<команда> <аргумент> ..."В случае же командных оболочек, основанных на csh (csh, tcsh и других), кавычки не требуются:
$ alias <псевдоним> <команда> [аргументы …]Несложно заметить, что главное отличие в данном случае заключается в использовании знака равенства и необходимости использования кавычек. При вызове команды alias без аргументов будет выведен список объявленных в текущее время псевдонимов.
После установки псевдоним будет работать лишь в рамках текущей сессии командной оболочки. Для того, чтобы активировать этот псевдоним на постоянной основе, вам придется добавить его в один из файлов конфигурации используемой в текущее время командной оболочки. В случае командной оболочки bash псевдонимы для отдельных пользователей чаще всего размещаются в файле конфигурации ~/.bashrc, а общесистемные псевдонимы — в файле конфигурации /etc/profile. В случае командной оболочки tcsh аналогичными файлами конфигурации являются файлы ~/.tcshrc и /etc/login соответственно.
Примеры
Простой псевдоним для пользователей операционной системы DOS:
$ alias dir="ls -l"А это пример более сложного псевдонима:
$ alias topcom='sort ~/.bash_history | uniq -ci | sort -r | less'Данный псевдоним упрощает обращение к списку наиболее часто используемых команд и может стать шаблоном для новых псевдонимов.
А это еще один пример псевдонима для ознакомления со списком смонтированных дисковых разделов:
$ alias mnt='mount | grep -i /dev/[h]d[a..g] | sort'Механизм функций командной оболочки может выполнять ту же работу, что и механизм псевдонимов, но он гораздо сложнее в использовании. В отличие от функций, псевдонимы не позволяют осуществлять подстановку значений переменных.
Например, даже такая простая функция, как
$ bak () { cp -a $1 $1.bak }не может быть преобразована в псевдоним из-за использования переменной "$1".
Установка псевдонима на постоянной основе
Для установки псевдонима на постоянной основе для всех пользователей, всех командных оболочек (ksh, bash, …) и всех типов командных оболочек (использующихся и не использующихся для входа в систему) вам придется:
- модифицировать файл конфигурации /etc/profile для командных оболочек, использующихся для входа в систему
- модифицировать файл конфигурации /etc/bash_bashrc для командных оболочек, не использующихся для входа в систему
Деактивация псевдонима
Используйте команду unalias.
📲 Мы в MAX
👉 @i_odmin
👍7🤔1
🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
MAX
Bash Советы - Bash Scripting | Linux Terminal & Shell. Скри…
Укроти командную строку. Пишем эффективные Bash-скрипты для сервера и десктопа. Магия текстовой обработки: Grep, Sed, Awk и регулярные выражения (Regex). Настр…
🤮21🤡6💩2❤1👍1👎1
📂 Как найти количество открытых файлов в Linux
🔹 Проверка общего количества открытых файлов:
-
-
🔹 Количество открытых файлов процессом:
-
✅ Чтобы узнать PID процесса:
🔹 Использование
-
🔹 Сводка по всему серверу через
- Показывает общее количество всех открытых файлов на сервере.
🔹 Ограничения (лимиты) на количество открытых файлов:
- Для текущей сессии:
- Системные лимиты:
- Использование и максимальное значение:
Расшифровка
- 1-е число — открытые дескрипторы файлов,
- 2-е число — дескрипторы в очереди освобождения,
- 3-е число — максимальное количество дескрипторов.
🔹 Проверка лимитов процесса:
⚙️ Быстрые советы:
- Если приближается к лимиту — увеличивайте значение через
📲 Мы в MAX
👉 @i_odmin
🔹 Проверка общего количества открытых файлов:
lsof | wc -l
-
lsof — выводит список всех открытых файлов.-
wc -l — считает количество строк (то есть файлов).🔹 Количество открытых файлов процессом:
lsof -p <PID> | wc -l
-
<PID> — ID интересующего процесса.✅ Чтобы узнать PID процесса:
ps aux | grep <имя_процесса>
🔹 Использование
/proc:
ls /proc/<PID>/fd | wc -l
-
/proc/<PID>/fd — каталог с дескрипторами открытых файлов процесса.🔹 Сводка по всему серверу через
/proc:
ls /proc/*/fd 2>/dev/null | wc -l
- Показывает общее количество всех открытых файлов на сервере.
🔹 Ограничения (лимиты) на количество открытых файлов:
- Для текущей сессии:
ulimit -n
- Системные лимиты:
cat /proc/sys/fs/file-max
- Использование и максимальное значение:
cat /proc/sys/fs/file-nr
Расшифровка
file-nr:- 1-е число — открытые дескрипторы файлов,
- 2-е число — дескрипторы в очереди освобождения,
- 3-е число — максимальное количество дескрипторов.
🔹 Проверка лимитов процесса:
cat /proc/<PID>/limits | grep "open files"
⚙️ Быстрые советы:
- Если приближается к лимиту — увеличивайте значение через
/etc/security/limits.conf.📲 Мы в MAX
👉 @i_odmin
👍4❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Media is too big
VIEW IN TELEGRAM
Протокол TCP
00:00 - Варианты подтверждения доставки в TCP
00:54 - Остановка и ожидание
01:19 - Скользящее окно
01:42 - Почему выгодно использовать скользящее окно
03:45 - Как работает скользящее окно
05:31 - Типы подтверждений в TCP
07:11 - Итоги
источник
📲 Мы в MAX
👉 @i_odmin
00:00 - Варианты подтверждения доставки в TCP
00:54 - Остановка и ожидание
01:19 - Скользящее окно
01:42 - Почему выгодно использовать скользящее окно
03:45 - Как работает скользящее окно
05:31 - Типы подтверждений в TCP
07:11 - Итоги
источник
📲 Мы в MAX
👉 @i_odmin
👍4🔥1
Софт для VDS-сервера, на который стоит обратить внимание новичкам
Если вы арендовали свой первый VDS-сервер и не знаете, с чего начать, это нормально — поначалу всё может казаться сложным: терминал, настройки, безопасность… Чтобы упростить старт, я собрал список утилит, которые стоит установить в первую очередь. Они помогут настроить сервер под ваши задачи, повысят удобство его использования и защитят от потенциальных угроз.
https://habr.com/ru/companies/ruvds/articles/902596/
📲 Мы в MAX
👉 @i_odmin
Если вы арендовали свой первый VDS-сервер и не знаете, с чего начать, это нормально — поначалу всё может казаться сложным: терминал, настройки, безопасность… Чтобы упростить старт, я собрал список утилит, которые стоит установить в первую очередь. Они помогут настроить сервер под ваши задачи, повысят удобство его использования и защитят от потенциальных угроз.
https://habr.com/ru/companies/ruvds/articles/902596/
📲 Мы в MAX
👉 @i_odmin
👍7🔥6
💻 Полезные команды Linux. Корректное выключение, перезагрузка и выход из системы
🔌 Выключение системы:
> Немедленно завершить работу системы.
> Запланированное выключение с сообщением.
> Альтернатива
🔄 Перезагрузка:
> Стандартная перезагрузка.
> Немедленная перезагрузка.
> Современный способ на системах с systemd.
🚪 Выход из текущей сессии:
> Завершение текущей shell-сессии (для терминала).
> Выход из системы, если вы вошли через консоль.
💡 Быстрые подсказки:
*
*
*
*
📲 Мы в MAX
👉 @i_odmin
🔌 Выключение системы:
sudo shutdown -h now
> Немедленно завершить работу системы.
sudo shutdown -h +10 "Выключение через 10 минут"
> Запланированное выключение с сообщением.
sudo poweroff
> Альтернатива
shutdown -h now, завершает работу и отключает питание.🔄 Перезагрузка:
sudo reboot
> Стандартная перезагрузка.
sudo shutdown -r now
> Немедленная перезагрузка.
sudo systemctl reboot
> Современный способ на системах с systemd.
🚪 Выход из текущей сессии:
exit
> Завершение текущей shell-сессии (для терминала).
logout
> Выход из системы, если вы вошли через консоль.
💡 Быстрые подсказки:
*
-h = halt (выключить)*
-r = reboot (перезагрузить)*
+минуты — отложенное действие*
wall — отправка сообщения всем пользователям📲 Мы в MAX
👉 @i_odmin
👍1