Linux: Системный администратор
1.94K subscribers
79 photos
8 videos
15 files
30 links
Здесь вы найдете полезные советы, практические материалы и интересные инсайты по администрированию Linux. Погружаемся в мир команд, скриптов и серверов вместе! 🚀

Авторский канал действующего админа 👨🏼‍💻
Download Telegram
🔥 Защита SSH: 5 простых шагов для безопасного сервера

Привет, админы! Сегодня разберёмся, как защитить SSH от взломов и брутфорса. Это критично для любого сервера, ведь атаки на 22-й порт идут постоянно. Держим систему в безопасности! 🛡️

1️⃣ Меняем стандартный порт
По умолчанию SSH слушает 22-й порт, который атакуют боты. Меняем его:

sudo nano /etc/ssh/sshd_config

Находим строку:

#Port 22

Заменяем, например, на:

Port 2222

Сохраняем и перезапускаем SSH:

sudo systemctl restart sshd

Теперь подключаться будем так:

ssh -p 2222 user@server


2️⃣ Запрещаем вход по паролю
Используем только ключи для входа:

PasswordAuthentication no

Чтобы изменения применились:

sudo systemctl restart sshd

Перед этим убедитесь, что у вас уже настроен SSH-ключ!

3️⃣ Ограничиваем доступ по IP
Если у вас статический IP, можно запретить подключение от всех, кроме своего IP:

sudo nano /etc/hosts.allow

Добавляем строку:

sshd: 192.168.1.100

А в /etc/hosts.deny запрещаем остальным:

sshd: ALL


4️⃣ Включаем Fail2Ban
Этот инструмент автоматически блокирует IP-адреса после нескольких неудачных попыток входа:

sudo apt install fail2ban -y

Настраиваем фильтр для SSH:

sudo nano /etc/fail2ban/jail.local

Добавляем:

[sshd]
enabled = true
maxretry = 5
bantime = 3600

Запускаем:

sudo systemctl restart fail2ban


5️⃣ Ограничиваем число подключений
Защитим сервер от DoS-атак с помощью iptables:

sudo iptables -A INPUT -p tcp --syn --dport 2222 -m connlimit --connlimit-above 3 -j REJECT

Это ограничит число одновременных подключений к SSH.

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍7
🚀 Подборка полезных 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++ разработчика

Программирование 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 Свежие новости Москвы
💩4🤬2
🛠️ Как найти и исправить битые симлинки в Linux?

Привет, коллеги! Сегодня поговорим о том, как искать и исправлять битые символьные ссылки в Linux. Если в системе есть сломанные ссылки, это может привести к ошибкам в работе приложений и скриптов.

🔍 Как найти битые симлинки?
Используем команду find:

find / -xtype l 2>/dev/null

Она покажет все битые (неработающие) симлинки в системе. Если нужно искать только в определённой директории, указываем путь, например:

find /home -xtype l


🛠 Удаление всех битых ссылок:
Если нужно массово удалить сломанные ссылки, используем:

find / -xtype l -delete

⚠️ Осторожно! Перед удалением лучше проверить список, чтобы случайно не снести нужное.

🔄 Как исправить битый симлинк?
Если нашли сломанную ссылку, можно удалить её и создать заново. Допустим, у нас есть сломанный симлинк /usr/bin/python, который должен вести на /usr/bin/python3:

rm /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python


🔥 Полезный трюк: Проверка всех симлинков в системе
Хотите узнать, какие симлинки куда ведут? Запускаем:

find / -type l -exec ls -l {} +


#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
2🔥2
📌 5 полезных команд для диагностики сети в Linux 🌐

Привет, админы! Сегодня покажу вам 5 мощных команд, которые помогут быстро диагностировать проблемы с сетью в Linux. 🚀

1️⃣ ping – проверяем доступность хоста

ping -c 4 google.com

Отправляет 4 пакета на google.com и показывает, есть ли потери. Если пинг не проходит — проблемы с маршрутизацией или DNS.

2️⃣ traceroute – отслеживаем маршрут пакетов

traceroute google.com

Выводит список узлов, через которые проходит трафик. Полезно, если соединение нестабильное.

3️⃣ netstat / ss – смотрим открытые соединения

netstat -tulnp # для старых систем
ss -tulnp # альтернатива

Отображает открытые порты, какие процессы их используют и какие соединения установлены.

4️⃣ dig – проверяем работу DNS

dig google.com

Показывает IP-адреса и DNS-записи домена. Если резолвинг не работает — проблема в DNS.

5️⃣ tcpdump – анализируем сетевой трафик

tcpdump -i eth0 port 80

Фильтрует HTTP-трафик на интерфейсе eth0. Можно использовать для отладки запросов.

Эти команды - must-have для любого админа! Какие из них используете чаще всего? Делитесь в комментариях! 🔥

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍5
🚀 Подборка полезных 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++ разработчика

Программирование 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 Свежие новости Москвы
👎5👍1
🛠️ Оптимизация journalctl: освобождаем место и ускоряем систему

Сегодня расскажу, как управлять журналами в Linux, чтобы они не разрастались до огромных размеров и не забивали диск. Логи — это хорошо, но когда они занимают десятки гигабайт, это уже проблема.

🔍 Проверяем размер логов
Сначала посмотрим, сколько места занимают журналы systemd:

journalctl --disk-usage

Вы увидите что-то вроде:

Archived and active journals take up 2.3G in total.

Если слишком много, пора чистить!

🗑️ Очищаем журналы
Удаляем все старые логи, оставляя только 500M:

journalctl --vacuum-size=500M

Можно также ограничить по времени, например, оставить только записи за последние 7 дней:

journalctl --vacuum-time=7d


⚙️ Ограничиваем размер логов
Чтобы в будущем избежать разрастания, задаем лимит в /etc/systemd/journald.conf:

[Journal]
SystemMaxUse=500M
SystemMaxFileSize=100M

Применяем изменения:

systemctl restart systemd-journald


🚀 Итог
Теперь логи не будут бесконтрольно расти, а система останется в порядке.

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍8
🔥 Разбираем htop: Альтернатива top для мониторинга системы

Привет, коллеги! Сегодня разберем инструмент, который должен быть в арсенале каждого линукс-админа - htop. Это мощная альтернатива top, которая делает мониторинг ресурсов системы удобным и наглядным.

📌 Почему htop круче top?

Цветовая схема - информация подается визуально, что помогает быстрее анализировать нагрузку.

Гибкость - можно настроить отображение колонок, фильтровать процессы, сортировать их по различным параметрам.

Управление процессами - htop позволяет не только наблюдать, но и управлять процессами (убивать, приостанавливать, менять приоритет и т.д.).

Горячие клавиши - удобный интерфейс для быстрого взаимодействия.

🛠 Установка
На большинстве дистрибутивов htop уже есть в репозиториях:
🔹 Debian/Ubuntu:

sudo apt install htop

🔹 CentOS/RHEL:

sudo yum install htop

🔹 Arch Linux:

sudo pacman -S htop


🚀 Основные фишки

🔸 Сортировка процессов - нажмите F6, чтобы выбрать критерий сортировки.
🔸 Завершение процессов - выделяем процесс, жмем F9, выбираем сигнал.
🔸 Дерево процессов - F5 (отображает родственные связи между процессами).
🔸 Поиск процесса - F3, вводим имя процесса.
🔸 Изменение приоритета (nice) - F7 / F8 для повышения/понижения приоритета.

htop - это удобный инструмент для мониторинга и управления процессами в Linux.

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍1🤣1
🔥 Как быстро поднять временный веб-сервер в Linux?

Бывают ситуации, когда нужно быстро расшарить файлы или запустить простой веб-сервер без установки тяжелых пакетов. Например, передать файл коллеге или проверить верстку локально. В таких случаях можно воспользоваться встроенными средствами.

📌 Python
Если у вас установлен Python, запустить HTTP-сервер можно одной командой:

python3 -m http.server 8080

Теперь ваш сервер доступен по адресу http://localhost:8080/.
Если хотите раздавать файлы из конкретной директории:

python3 -m http.server 8080 --directory /путь/к/папке


📌 PHP
Для тех, у кого есть PHP:

php -S 0.0.0.0:8080

Он тоже запустит веб-сервер на 8080 порту.

📌 BusyBox
Если на сервере установлен busybox, можно использовать его встроенный HTTP-сервер:

busybox httpd -f -p 8080 -h /путь/к/каталогу


📌 Node.js
У кого есть node, можно использовать http-server:

npx http-server -p 8080

или установить глобально:

npm install -g http-server
http-server -p 8080


💡 Все эти методы хороши для временных решений. Но если вам нужен стабильный веб-сервер, лучше использовать NGINX или Apache.

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍2
🚀 Подборка полезных 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 Свежие новости Москвы
💩7
🔐 Как заставить пользователя сменить пароль при следующем входе в Linux

Привет, коллеги! Сегодня разберем полезный трюк: как заставить пользователя сменить пароль при следующем входе в систему. Это особенно актуально при создании новых учетных записей или после сброса пароля.

🔸 1. Используем команду passwd

Самый простой способ принудительно заставить пользователя сменить пароль — это выполнить команду:


passwd --expire username


🔹 Что делает эта команда?
Она устанавливает дату последней смены пароля в 0, что вынуждает пользователя изменить его при следующем входе.

🔸 2. Используем команду chage

Команда chage позволяет гибко управлять политикой паролей. Чтобы заставить пользователя сменить пароль при следующем входе:


chage -d 0 username


🔹 Как это работает?
Флаг -d 0 сбрасывает дату последней смены пароля, и система требует его обновления при следующем входе.

🔸 3. Политика паролей для всех пользователей

Если тебе нужно настроить принудительную смену пароля через определенное время для всех пользователей, используй:


chage -M 30 username


🔹 Что делает этот параметр?
Устанавливает срок действия пароля в 30 дней. После истечения этого срока система потребует его смены.

🔸 4. Проверка настроек пароля пользователя

Чтобы убедиться, что правило применилось, можно выполнить:


chage -l username


Это покажет дату последней смены пароля, срок его действия и дату истечения.

🔸 5. Блокировка входа без смены пароля

Если ты хочешь полностью заблокировать пользователя, пока он не изменит пароль, можешь сначала принудительно истечь срок пароля:


passwd -l username


А затем снова разрешить вход после смены пароля:


passwd -u username


🔥 Итог

🔹 Используй passwd --expire username или chage -d 0 username, чтобы заставить пользователя сменить пароль.
🔹 Проверяй настройки командой chage -l username.
🔹 Настраивай срок действия пароля глобально через chage -M 30 username.
🔹 При необходимости блокируй вход до смены пароля.

Применяй эти методы и будь уверен в безопасности системы! 🔒

💬 Делись своим опытом в комментариях! Какие еще трюки используешь для управления паролями?


#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍6🔥21
♻️ Как сисадмину легально избавиться от кладбища старого железа и получить за это премию

У каждого админа есть своя тайная комната боли. Тот самый склад, под завязку забитый мертвыми свичами, пухлыми батареями от ИБП, горами старых мониторов и сгоревшими серверами эпохи DDR3. Выкинуть это добро в мусорный контейнер нельзя по закону (экология, штрафы, учет драгметаллов), а чтобы списать официально - нужно пройти семь кругов бюрократического ада с бухгалтерией 🤦‍♂️

Ребята из УтильЭко предлагают решение этой проблемы. Они забирают весь этот зоопарк, сами закрывают вопросы с документами, а вам за организацию процесса выплачивают партнерский бонус.

Как это работает на практике:

🟢 Полный легал для бухгалтерии. Работа идет строго по лицензиям. На выходе ваша компания получает полный пакет закрывающих документов (акты утилизации, паспорта отходов) по всем стандартам 2026 года. Бухгалтеры будут счастливы, юристы спокойны.
🟢 Оценка за 48 часов. Просто выгружаете спецификацию (список железа) и скидываете менеджеру. Через двое суток у вас на руках готовый расчет и условия.
🟢 Никакой физической боли. Логистику, заказ пропусков, грузчиков и вывоз берут на себя. Рвать спину, вытаскивая тяжеленные 4U-шасси и ИБП в Газель, вам не придется.
🟢 Двойная выгода. Относительно ликвидное железо (старые ноутбуки, серверы, СХД) они выкупают, принося вашей компании живые деньги. А откровенный неликвид и мусор - легально утилизируют.

А теперь самое интересное для тех, кто инициирует процесс. За помощь в организации контракта со своей компанией (или вашими клиентами на аутсорсе) УтильЭко выплачивает ИТ-специалисту 20% от суммы сделки. По сути, вы наводите порядок на собственном складе чужими руками и получаете за это отличную премию к зарплате 💸

Если подсобка уже ломится от древнего легаси, пишите менеджеру для консультации и быстрой оценки спецификации:
📩 @izik30

Подробнее прочитать про ребят можно тут ➡️ УтильЭко - утилизация техники для юридических лиц

Реклама. ООО «УТИЛЬЭКО», ИНН: 6685221390, erid: 2VtzqupaZSW
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🖥️ Как проверить, что cron работает корректно?

Привет, админы! Сегодня разберём важную тему — как убедиться, что cron действительно выполняет ваши задания. Бывает, что скрипт в crontab прописан, но не работает, и причина может быть неочевидной.

🔎 Проверяем cron пошагово:

1️⃣ Проверяем, работает ли сам демон cron:

systemctl status cron # Для систем с systemd (Ubuntu, Debian)
service cron status # Для старых систем

Если он не запущен, запускаем:

systemctl start cron


2️⃣ Смотрим логи cron:
На большинстве дистрибутивов логи находятся в /var/log/syslog или /var/log/cron.log:

grep CRON /var/log/syslog

Если сообщений нет, проверьте, включён ли лог cron в rsyslog.conf.

3️⃣ Запускаем задание вручную
Скопируйте команду из crontab и выполните в терминале, чтобы убедиться, что скрипт сам по себе работает.

4️⃣ Добавляем вывод в лог
Иногда cron просто не видит ошибки. Давайте принудительно записывать их в лог:

* * * * * /path/to/script.sh >> /var/log/mycron.log 2>&1


5️⃣ Проверяем переменные окружения
Cron использует ограниченный PATH. Если скрипт использует внешние команды, указываем полный путь:

/usr/bin/python3 /home/user/myscript.py

или задаём PATH в начале crontab:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


6️⃣ Проверяем права и владельца
Скрипт может не запускаться из-за прав доступа. Даем права на исполнение:

chmod +x /path/to/script.sh

Если задание в crontab -e, убедитесь, что оно прописано под нужным пользователем.

💡 Бонус: визуальный мониторинг работы cron
Если вам надо отслеживать выполнение задач в реальном времени, установите cronitor или healthchecks.io. Эти сервисы сообщат, если задание не отработало.

Пользуетесь ли вы чем-то ещё для отладки cron? Делитесь в комментариях! 🚀

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍51🔥1
📌 Как быстро посмотреть историю изменений файла в 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
👍4
🔥 Автоматический перезапуск упавшего сервиса в 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
🔥5👍2
🛠 Как проверить производительность диска в 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
👍2
🚀 Подборка полезных 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 Свежие новости Москвы
🤮3👍1
🛠 Оптимизация автозапуска сервисов в 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
👍3🔥2
🔥 Как проверить, какие процессы используют диск в 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
👍41
🚀 Подборка полезных 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 Свежие новости Москвы
👎1
📌 Полезные флаги команды 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
👍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
🔥4