uk
Feedback
Linux: Системный администратор

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

Відкрити в Telegram

Здесь вы найдете полезные советы, практические материалы и интересные инсайты по администрированию Linux. Погружаемся в мир команд, скриптов и серверов вместе! 🚀 Авторский канал действующего админа 👨🏼‍💻

Показати більше
1 940
Підписники
-124 години
-37 днів
+1430 день

Триває завантаження даних...

Схожі канали
Немає даних
Виникли проблеми? Будь ласка, оновіть сторінку або зверніться до нашого support-менеджера.
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
червень '26
червень '26
+2
в 0 каналах
травень '26
+35
в 0 каналах
Get PRO
квітень '26
+17
в 0 каналах
Get PRO
березень '26
+27
в 0 каналах
Get PRO
лютий '26
+41
в 0 каналах
Get PRO
січень '26
+29
в 0 каналах
Get PRO
грудень '25
+53
в 0 каналах
Get PRO
листопад '25
+102
в 41 каналах
Get PRO
жовтень '25
+45
в 0 каналах
Get PRO
вересень '25
+124
в 37 каналах
Get PRO
серпень '25
+69
в 0 каналах
Get PRO
липень '25
+104
в 27 каналах
Get PRO
червень '25
+184
в 20 каналах
Get PRO
травень '25
+159
в 45 каналах
Get PRO
квітень '25
+259
в 38 каналах
Get PRO
березень '25
+303
в 39 каналах
Get PRO
лютий '25
+249
в 32 каналах
Get PRO
січень '25
+234
в 34 каналах
Get PRO
грудень '24
+1 406
в 35 каналах
Дата
Залучення підписників
Згадування
Канали
09 червня0
08 червня0
07 червня0
06 червня+1
05 червня0
04 червня0
03 червня0
02 червня0
01 червня+1
Дописи каналу
🔐 Сегодня покажу вам, как быстро проверить, какие пользователи могут входить по SSH Когда нужно быстро провести аудит, кто действительно может зайти на сервер по SSH, поможет вот такой однострочник:

getent passwd | awk -F: '$3 >= 1000 && $7 ~ /bash/ {print $1}' | while read user; do
  if [ -f /home/$user/.ssh/authorized_keys ]; then
    echo "$user — доступ по ключу"
  elif grep -q "^$user:" /etc/shadow && [ "$(awk -F: -v u="$user" '$1 == u {print $2}' /etc/shadow)" != "*" ]; then
    echo "$user — может входить с паролем"
  fi
done
💡 Что делает скрипт? - Ищет всех "нормальных" пользователей (UID ≥ 1000 и оболочка bash) - Проверяет, есть ли у них authorized_keys — значит, ключи - Если нет — сверяет в /etc/shadow, заблокирован ли пароль 📌 На заметку: - Подходит для систем с классической схемой пользователей (не LDAP и не sssd) - UID порог можно подправить под свою среду - Можно дополнить логированием, например в syslog или файл А ты проверяешь регулярно, кто может входить на твои сервера? Пиши в комментариях — автоматизировал ли ты аудит SSH-доступа у себя? 👇 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

2
⚙️ Автоматизация рутинных задач с systemd timers Привет, друзья! Сегодня расскажу, как я заменил cron на более гибкое решение — systemd timers. Почему это круто? 👉 Логирование, зависимость от сервисов, простая отладка и интеграция в systemctl. 🔧 Пример: бэкап каталога каждый день 1. Создаем сервис-файл: /etc/systemd/system/backup-home.service [Unit] Description=Backup /home to /backup [Service] Type=oneshot ExecStart=/usr/local/bin/backup-home.sh 2. Создаем таймер: /etc/systemd/system/backup-home.timer [Unit] Description=Daily backup of /home [Timer] OnCalendar=*-*-* 03:00:00 Persistent=true [Install] WantedBy=timers.target 3. Активируем: sudo systemctl daemon-reexec sudo systemctl enable --now backup-home.timer 📌 Скрипт backup-home.sh можно писать как угодно: rsync, tar, borg, хоть scp. ✅ Плюс: systemd сам выполнит задание при следующей загрузке, если сервер был выключен в 3 ночи (благодаря Persistent=true). 🔥 Используете systemd timers или предпочитаете cron? Расскажите, что автоматизируете! #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
279
3
🚀 Подборка полезных 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 Типичный Сисадмин Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак 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 Свежие новости Москвы https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП
257
4
🎯 Как быстро очистить лог-файлы, не перезапуская сервис Привет, коллеги! Сегодня хочу показать простой, но очень полезный приём для работы с логами. Иногда лог-файлы разрастаются до гигантских размеров, и хочется их обнулить — но без остановки сервиса, который пишет в этот файл. 🔧 Вот как это сделать: : > /var/log/your-log.log Или, альтернативно: truncate -s 0 /var/log/your-log.log 📌 Что здесь происходит: - : > — это no-op команда (:) с перенаправлением вывода в файл, по сути затирает его. - truncate -s 0 — устанавливает размер файла в 0 байт. 💡 Главное: не удаляйте лог-файл напрямую! Если вы сделаете rm /var/log/your-log.log, то большинство демонов продолжат писать в уже открытый файловый дескриптор — и вы потеряете лог, не освободив место. Если лог-файл всё-таки нужно удалить — сделайте это аккуратно: > /var/log/your-log.log && systemctl reload your-service Или используйте logrotate — но об этом в одном из следующих постов 😉 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
385
5
📌 Команда : xargs — что это, как использовать с find, реальные примеры Если ты всё ещё пишешь bash find . -name "*.log" -exec rm {} \; — пора познакомиться с xargs. 🔹 Что делает xargs Простыми словами: берёт вывод одной команды и передаёт его как аргументы другой. Часто используется в связке с find, grep, ls, cat и т.д. 🔧 Пример 1: удаление файлов bash find . -name "*.log" | xargs rm Быстрее и читаемее, чем -exec. А если в путях есть пробелы — добавь -print0 и -0: bash find . -name "*.log" -print0 | xargs -0 rm 🔧 Пример 2: архивация большого списка файлов bash cat filelist.txt | xargs tar -czf archive.tar.gz Но лучше писать так: bash xargs -a filelist.txt tar -czf archive.tar.gz ⚠️ Полезные флаги - -n N — запускать по N аргументов - -P N — параллельное выполнение (например, -P 4 для 4 потоков) - -I {} — подстановка аргументов вручную: bash cat urls.txt | xargs -I {} curl -O {} 🧠 Где применять - Удаление, копирование, перемещение файлов - Обработка списков (имён, URL, путей) - Массовый запуск скриптов - Комбинация с parallel — огонь 🔥 ✍️ Итог xargs — это must-have в наборе админа. Один раз освоил — и половина баш-магии стала проще. #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
469
6
🧠 Что делает команда exec в bash — и зачем она нужна? Многие слышали о exec, но используют редко. А зря! Это мощный инструмент, особенно в скриптах и системном администрировании. 🔹 Что делает exec? Она заменяет текущий процесс новым, без создания дочернего. То есть, вместо запуска новой программы — текущий процесс «перевоплощается» в неё. Простой пример: exec top В этом случае оболочка bash будет заменена на top, и когда вы закроете top, сессия завершится. 🛠 Где это может пригодиться: 1. В systemd-юнитах — при запуске сервиса через скрипт: #!/bin/bash exec /usr/bin/myapp Это позволит системе правильно отслеживать основной процесс. 2. В контейнерах (например, Docker) — если вы запускаете скрипт в качестве ENTRYPOINT, используйте exec, чтобы сигналы (например, SIGTERM) корректно передавались вашему приложению. 3. Для перенаправления ввода/вывода: exec >> /var/log/myscript.log 2>&1 Всё, что будет выведено в stdout и stderr после этой строки — пойдёт в лог. ⚡ exec не делает магии, но помогает делать вещи правильно. Особенно там, где важна замена PID и корректная работа сигналов. А вы используете exec в своих скриптах? Поделитесь опытом 👇 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
490
7
🛠 Как узнать, кто перезагрузил сервер? Сегодня покажу вам простой способ выяснить, кто именно инициировал перезагрузку сервера. Иногда бывает так: сервер внезапно ушёл в ребут, и ты не уверен — это был плановый рестарт, баг или кто-то нажал reboot не подумав. Давайте разбираться! 🔍 Шаг 1: Проверяем журнал перезагрузки last -x | grep reboot Эта команда покажет дату и время перезагрузки. Но кто? 🔍 Шаг 2: Ищем инициатора в журнале auditd (если он включён) ausearch -k reboot или ausearch -x /sbin/reboot Это поможет, если у вас включён auditd. Если нет — смотри следующий шаг. 🔍 Шаг 3: Проверка journalctl journalctl -b -1 | grep -i 'reboot\|shutdown\|poweroff' Здесь могут быть строки вроде: systemd-logind[...]: Power key pressed. systemd-logind[...]: Rebooting system. или systemd[1]: Received request to reboot from UID=1000 UID поможет понять, какой пользователь инициировал ребут. 🔍 Шаг 4: Кто был в системе до ребута? last -F | head Посмотри, кто был залогинен незадолго до перезагрузки. Возможно, это и есть "виновник". 🧠 Мой совет: Настрой логирование и аудит таких событий заранее — особенно на продакшене. А ещё можешь повесить алерт на неожиданные ребуты через Prometheus + Alertmanager. Полезно? Делитесь в комментах своими кейсами, когда сервер ушёл в ребут «сам по себе» 😅 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
435
8
🧰 Проверка сетевых подключений с помощью ss Заменим устаревший netstat! Сегодня хочу показать вам, как удобно и эффективно использовать команду ss для анализа сетевых подключений. Это современная альтернатива netstat, которая работает быстрее и дает больше деталей. 🔍 Примеры, которые стоит запомнить: ss -tuln Показывает все слушающие TCP/UDP порты без разрешения имён. Часто использую при проверке, какие службы открыты наружу. ss -tp Показывает активные TCP-соединения с указанием PID/имени процесса. Очень выручает при отладке приложений, которые что-то "держат". ss -s Краткая сводка по соединениям — как netstat -s, но быстрее. Отлично, чтобы быстро глянуть на состояние TCP-стека. 💡 Совет: если у вас в системе много соединений, используйте ss с фильтрами, например: ss -t state established '( dport = :ssh or sport = :ssh )' Покажет только установленные SSH-соединения — очень удобно, если сервер используется как bastion. 👨‍💻 А вы уже полностью перешли на ss или ещё пользуетесь netstat по привычке? Делитесь в комментариях своим опытом! #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
475
9
🛡 Как быстро заблокировать IP через iptables и не забыть про это Иногда нужно срочно заблокировать IP — скажем, увидели подозрительную активность в логах sshd. Простой способ: iptables -A INPUT -s 203.0.113.5 -j DROP Но есть нюанс: при следующей перезагрузке этот IP снова станет "добрым". Чтобы сохранить правило: 1. Для систем на Debian/Ubuntu Установите iptables-persistent: apt install iptables-persistent И сохраните правила: netfilter-persistent save 2. Для CentOS/RHEL Используйте iptables-save и iptables-restore: iptables-save > /etc/sysconfig/iptables 💡 Совет: если часто блокируете IP вручную — сделайте себе алиас в .bashrc: alias blockip='iptables -A INPUT -s' Теперь можно будет писать так: blockip 203.0.113.5 -j DROP 📌 А вы как чаще блокируете IP — через iptables, firewalld, fail2ban или что-то ещё? Напишите в комментах👇 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
458
10
📌 Как увеличить размер каталога /tmp/ в Linux Привет, коллеги! Сегодня поговорим об увеличении каталога tmp. Каталог /tmp/ используется для временных файлов и обычно располагается в RAM (tmpfs) или на диске. Если /tmp/ переполняется, это может вызвать сбои в работе системы. Давайте разберем, как его увеличить. 🔍 Проверка текущего размера /tmp/ Чтобы узнать, как /tmp/ смонтирован и его размер, используем: df -h /tmp или mount | grep /tmp Если /tmp/ использует tmpfs, то он находится в оперативной памяти. 🔹 Вариант 1: Увеличение tmpfs (в RAM) Если /tmp/ смонтирован как tmpfs, можно увеличить его размер командой: mount -o remount,size=4G /tmp Где 4G — новый размер. Проверяем: df -h /tmp ⚠️ Это временное изменение! После перезагрузки сбросится. Чтобы сделать его постоянным, добавляем строку в /etc/fstab: tmpfs /tmp tmpfs defaults,size=4G 0 0 Затем применяем изменения: mount -o remount /tmp 🔹 Вариант 2: Использование раздела на диске Если нужно хранить данные на диске, можно создать отдельный раздел. 1️⃣ Выбираем диск и создаем раздел (например, /dev/sdb1): mkfs.ext4 /dev/sdb1 2️⃣ Монтируем его: mount /dev/sdb1 /tmp 3️⃣ Делаем постоянным, добавив в /etc/fstab: /dev/sdb1 /tmp ext4 defaults 0 0 🔹 Вариант 3: Использование файла-контейнера Если новый раздел не вариант, можно создать файл и смонтировать его как /tmp/: 1️⃣ Создаем файл (например, 4ГБ): dd if=/dev/zero of=/swapfile bs=1M count=4096 2️⃣ Форматируем его: mkfs.ext4 /swapfile 3️⃣ Монтируем его в /tmp/: mount /swapfile /tmp 4️⃣ Добавляем в /etc/fstab: /swapfile /tmp ext4 defaults 0 0 🔥 Итог ✔ Быстрое изменение (RAM) – mount -o remount,size=4G /tmp ✔ Постоянное изменение (RAM) – правка /etc/fstab ✔ Использование диска – монтирование отдельного раздела ✔ Файл-контейнер – если раздел недоступен #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
410
11
🚀 Подборка полезных 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 Свежие новости Москвы
305
12
📌IPv4 Адресация и Субнеттинг Упрощённо! 1. IPv4-адрес – это 32-битное число, разделённое на 4 октета. Пример: 192.168.1.1. 2
📌IPv4 Адресация и Субнеттинг Упрощённо! 1. IPv4-адрес – это 32-битное число, разделённое на 4 октета. Пример: 192.168.1.1. 2. Классы IP-адресов: - Класс A: 1.0.0.0 - 126.255.255.255 (маска подсети по умолчанию: 255.0.0.0). - Класс B: 128.0.0.0 - 191.255.255.255 (маска подсети по умолчанию: 255.255.0.0). - Класс C: 192.0.0.0 - 223.255.255.255 (маска подсети по умолчанию: 255.255.255.0). 3. Маска подсети помогает делить IP-адрес на сеть и хосты: - Пример: Маска 255.255.255.0 означает, что первые 3 октета — это сеть, а последний — хосты. 4. CIDR (Classless Inter-Domain Routing) используется для гибкого управления подсетями: - Пример: /24 = 255.255.255.0 (256 адресов, из которых 254 доступны для хостов). 5. Субнеттинг позволяет делить сеть на меньшие подсети: - Пример: 192.168.1.0/24 → можно разделить на две подсети /25: - 192.168.1.0 - 192.168.1.127 - 192.168.1.128 - 192.168.1.255. 6. Формулы для расчётов: - Количество адресов = 2^(32 - префикс CIDR). - Количество хостов = (2^(32 - префикс CIDR)) - 2 (один для сети, другой для широковещательного). 7. Широковещательный адрес (Broadcast) – последний адрес в подсети. - Пример: для сети 192.168.1.0/24 широковещательный адрес – 192.168.1.255. 8. Адрес сети – первый адрес в подсети. - Пример: для сети 192.168.1.0/24 адрес сети – 192.168.1.0. 9. Приватные IP-адреса: - Класс A: 10.0.0.0 - 10.255.255.255. - Класс B: 172.16.0.0 - 172.31.255.255. - Класс C: 192.168.0.0 - 192.168.255.255. 10. Зачем субнеттинг? - Эффективное использование IP-адресов. - Сегментация сети для повышения безопасности. - Управление трафиком и уменьшение широковещательных доменов. Практический пример: Сеть: 192.168.10.0/26 Маска подсети: 255.255.255.192 - Количество адресов: 64 (2^6). - Хосты: 62 (64-2). - Подсети: 1. 192.168.10.0 - 192.168.10.63 2. 192.168.10.64 - 192.168.10.127 #Сети@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin
0
13
📌 Полезные флаги команды ls, о которых стоит знать Привет, коллеги! Сегодня давайте поговорим о команде ls. Казалось бы, что тут обсуждать? Все знают, что ls показывает файлы в каталоге. Но есть несколько полезных флагов, которые могут упростить вам жизнь. 🔹 ls -lh – выводит список файлов в удобном для чтения формате (размеры в KB, MB и GB). 🔹 ls -la – показывает все файлы, включая скрытые (. и ..). 🔹 ls -lt – сортирует файлы по дате изменения (сначала самые свежие). 🔹 ls -ltr – тоже самое, но в обратном порядке (старые файлы в начале). 🔹 ls -S – сортировка по размеру (самые большие файлы сверху). 🔹 ls -d */ – покажет только каталоги в текущем пути. 🔹 ls -1 – выводит файлы в одну колонку, удобно для скриптов. 💡 Бонус: если хотите раскрасить вывод ls, добавьте в .bashrc или .zshrc: alias ls='ls --color=auto' Теперь файлы и папки будут выделяться цветами! #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
0
14
🚀 Подборка полезных 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 Свежие новости Москвы
0
15
🔥 Как проверить, какие процессы используют диск в Linux? Всем доброо вечера! Сегодня разберёмся с ситуацией, когда диск в системе нагружен, а причина не ясна. Как узнать, какие процессы активно читают/пишут данные? 📌 1. Используем iotop Это удобная утилита, показывающая процессы, активно работающие с диском. Установить её можно так: # Для Debian/Ubuntu: sudo apt install iotop # Для RHEL/CentOS/AlmaLinux/Rocky: sudo dnf install iotop Запускаем команду: sudo iotop Можно добавить флаг -o, чтобы показать только активные процессы: sudo iotop -o 📌 2. Анализируем с pidstat Утилита pidstat из пакета sysstat поможет увидеть нагрузку на диск со стороны процессов: sudo pidstat -d 1 Здесь -d — мониторинг I/O, а 1 — обновление раз в секунду. 📌 3. Используем lsof Чтобы узнать, какие файлы открыты процессами на диске: sudo lsof +D /путь/к/директории Например, чтобы посмотреть файлы в /var/log: sudo lsof +D /var/log 📌 4. fatrace – в реальном времени Хотите увидеть, какие файлы изменяются? Запустите: sudo fatrace #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
0
16
🛠 Оптимизация автозапуска сервисов в Linux: systemd vs rc.local Привет, коллеги! Сегодня расскажу, как грамотно настраивать автозапуск сервисов в Linux. Многие старые админы привыкли добавлять команды в /etc/rc.local, но в современных дистрибутивах (особенно с systemd) этот метод уже неактуален. ❌ Почему не стоит использовать rc.local? 1️⃣ Отсутствие контроля – трудно мониторить выполнение команд и возможные ошибки. 2️⃣ Не универсально – в некоторых дистрибутивах этот файл просто отсутствует. 3️⃣ Не всегда срабатывает – если что-то пойдет не так, вы даже не узнаете, почему. ✅ Как правильно настроить автозапуск через systemd? Допустим, у вас есть скрипт /opt/myscript.sh, который нужно запускать при старте системы. 1️⃣ Создаем юнит-файл: sudo nano /etc/systemd/system/myscript.service 2️⃣ Добавляем содержимое: [Unit] Description=Мой скрипт After=network.target [Service] ExecStart=/bin/bash /opt/myscript.sh Restart=always User=root [Install] WantedBy=multi-user.target 3️⃣ Активируем и запускаем: sudo systemctl daemon-reload sudo systemctl enable myscript sudo systemctl start myscript Теперь ваш скрипт будет запускаться при загрузке системы и автоматически перезапускаться в случае сбоя! #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
0
17
🚀 Подборка полезных 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 и др. 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 Свежие новости Москвы
0
18
🛠 Как проверить производительность диска в Linux? Сегодня я покажу вам, как быстро протестировать скорость работы диска в Linux. Это пригодится, если вы хотите понять, насколько хорошо работает ваш диск, обнаружить узкие места или просто провести диагностику. 📌 1. Используем hdparm Если у вас обычный HDD или SSD без файловой системы (например, только подключенный диск), попробуйте: sudo hdparm -Tt /dev/sdX Где sdX — ваш диск. Этот тест показывает две вещи: • Кэшированное чтение (-T) — скорость, с которой данные читаются из кэша. • Фактическое чтение (-t) — скорость последовательного чтения с диска. Пример вывода: Timing cached reads: 12000 MB in 2.00 seconds = 6000.00 MB/sec Timing buffered disk reads: 500 MB in 3.00 seconds = 166.67 MB/sec 📌 2. Используем dd Простой способ протестировать скорость записи и чтения: Запись файла 1 ГБ: dd if=/dev/zero of=testfile bs=1M count=1024 oflag=direct Чтение файла 1 ГБ: dd if=testfile of=/dev/null bs=1M count=1024 iflag=direct Опция oflag=direct (для записи) и iflag=direct (для чтения) позволяет избежать кэширования. 📌 3. Используем fio (более продвинутый тест) Если вам нужны подробные метрики (IOPS, латентность и т. д.), лучше использовать fio: fio --name=test --size=1G --filename=testfile --rw=read --bs=4k --iodepth=32 --numjobs=1 --time_based --runtime=10 --group_reporting Этот тест эмулирует случайное чтение файла testfile размером 1 ГБ с блоками по 4K. 🧐 Какой способ вы используете чаще всего? Может, есть свой любимый инструмент? Пишите в комментариях! #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
0
19
🔥 Автоматический перезапуск упавшего сервиса в Linux Привет, коллеги! Сегодня разберём, как автоматически перезапускать сервис, если он вдруг упал. Это полезно для критичных приложений, которые должны работать 24/7. 📌 Метод 1: systemd (современный способ) Если ваш сервис управляется systemd, настройте автоматический рестарт: 1️⃣ Открываем юнит-файл сервиса: sudo nano /etc/systemd/system/имя_сервиса.service 2️⃣ Добавляем или редактируем секцию [Service]: [Service] Restart=always RestartSec=5 🔹 Restart=always – сервис перезапускается при любой ошибке 🔹 RestartSec=5 – задержка 5 секунд перед рестартом 3️⃣ Применяем изменения: sudo systemctl daemon-reexec sudo systemctl restart имя_сервиса 📌 Метод 2: Monit (для расширенного контроля) Если нужен мониторинг с уведомлениями, используем Monit: 1️⃣ Устанавливаем: sudo apt install monit # Debian/Ubuntu sudo yum install monit # CentOS 2️⃣ Добавляем правило для сервиса: sudo nano /etc/monitrc Пример конфига: check process nginx with pidfile /run/nginx.pid start program = "/bin/systemctl start nginx" stop program = "/bin/systemctl stop nginx" if 5 restarts within 5 cycles then unmonitor 3️⃣ Перезапускаем Monit: sudo systemctl restart monit 📌 Метод 3: crontab (самый простой способ) Если сервис падает редко, можно просто проверять его раз в минуту: * * * * * pgrep -x nginx > /dev/null || systemctl restart nginx ⚡ Вывод: systemd – лучший вариант, Monit подходит для расширенного мониторинга, а cron – для простых случаев. #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
0
20
📌 Как быстро посмотреть историю изменений файла в Linux? Сегодня покажу вам несколько способов, как отследить изменения в файле в Linux. Это может быть полезно для поиска причин ошибок, аудита или простого контроля за конфигурацией. 🔍 1. stat — метаданные файла Хотите узнать, когда последний раз изменялся файл? Используйте команду: stat /etc/nginx/nginx.conf Вы увидите три временных метки: - Access (чтение) - Modify (изменение содержимого) - Change (изменение метаданных, например, прав) 📝 2. ls -lt — сортировка по времени Для списка файлов в каталоге по дате изменения: ls -lt /etc/nginx/ 🕵️ 3. diff — сравнение версий Если у вас есть резервная копия файла, можно сравнить: diff /etc/nginx/nginx.conf /backup/nginx.conf 📜 4. git — контроль версий Лучший способ отслеживать изменения в важных файлах — использовать git: cd /etc/nginx git init git add nginx.conf git commit -m "Initial version" После изменений проверяем разницу: git diff nginx.conf 👀 5. auditd — мониторинг изменений Если нужно следить за изменением файла в реальном времени, добавляем его в аудит: auditctl -w /etc/nginx/nginx.conf -p wa -k nginx_conf_change А потом смотрим логи: ausearch -k nginx_conf_change --start today 📢 Какой способ используете вы? Делитесь в комментариях! 🚀 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
0