Типичный Сисадмин
1.25K subscribers
363 photos
43 videos
201 links
⚙️Информация для системного администратора

По всем вопросам : @Sofiia_artamonova
Download Telegram
YouPlot — это утилита командной строки для визуализации данных. Она поддерживает построение графиков без зависимости от Python или сложных библиотек. Инструмент прост в использовании, легковесен и подходит для быстрого создания графиков прямо из терминала. Поддерживает разные типы диаграмм, включая линейные, столбчатые и точечные.

https://github.com/red-data-tools/YouPlot
Мониторинг и оптимизация дискового пространства в Linux


Мониторинг использования:

• Проверить свободное место:

df -h


• Размер директории:

du -sh /путь/к/директории


• Топ-10 крупных папок:

du -ah /путь | sort -rh | head -n 10


• Найти большие файлы (>1ГБ):

find / -type f -size +1G 2>/dev/null



Очистка места:

• Удалить старые логи:

find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;


• Очистить кэш:

sudo apt-get clean
sudo dnf clean all


• Удалить временные файлы:

sudo rm -rf /tmp/* /var/tmp/*


• Удалить старые ядра:

sudo apt-get autoremove --purge



Автоматизация:

• Добавить в crontab задачу для регулярной очистки логов:

0 3 * * 7 find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;



Оптимизация:

• Перенос крупных папок:

mv /большая/папка /mnt/новый_диск
ln -s /mnt/новый_диск /большая/папка


• Сжатие логов:

gzip /var/log/*.log


• Удаление дублированных файлов:

fdupes -r /путь



Полезные утилиты:

• ncdu — анализ диска:

sudo apt install ncdu && ncdu /


• iotop — мониторинг операций с файлами:

iotop


• fslint — поиск мусорных файлов:

sudo apt install fslint



Мониторинг в реальном времени:

• Свободное место:

df -h


• Загрузка диска процессами:

iotop


• Отслеживание изменений в директории:

inotifywait -m /путь
👍2
Шпаргалка по скриптам Bash

Основы написания скриптов на Bash
Условные операторы
Циклы Bash
Арифметические операторы
Арифметические условные операторы
Операторы сравнения строк
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Walk — это инструмент на Go, который позволяет рекурсивно обходить директории и выполнять команды для каждого найденного файла или папки.

Ключевые особенности:
- Простая команда для выполнения скриптов или операций над файлами.
- Гибкость и высокая скорость работы.
- Подходит для автоматизации задач, связанных с обработкой файлов.

https://github.com/antonmedv/walk
👍1
Основные команды Linux: Управление пользователями и группами

-b – Базовый каталог по умолчанию, в котором создаются домашние каталоги пользователей. Обычно это / home, а пользовательские каталоги — /home/$ USER.
-c “text text” – Текстовая строка для описания id, содержащая, например, полное имя пользователя.
-e YYYY-MM_DD – Дата, когда учетная запись потеряет силу или будет заблокирована.
-G gr1,gr2,gr3 – Список дополнительных групп, которым принадлежит пользователь.
-o – Позволяет создать пользователя с неуникальным id.
-u – Неотрицательное цифровое значение id пользователя, которое должно быть уникальным, если не определено иначе опцией -o. По умолчанию используется самое маленькое значение, не меньше, чем UID_MIN, причем больше, чем id любого из существующих пользователей.
usermod user – изменение настроек пользователя с именем user в системе
аналогичны всем вышеуказанным для useradd
-L – блокировка учетной записи
-U – разблокировка учетной записи
userdel user – удаляет пользователя user из системы
-r – удаление домашнего каталога пользователя
users – Выдаются имена пользователей, которые в текущий момент зарегистрированы в системе
groupadd group – добавление (создание) новой группы group в системе
-f – Выйти со статусом успешного выполнения, если группа уже существует. Удобна при написании скриптов, когда нет необходимости проверять, существует ли группа, прежде чем пытаться ее создавать.
-g – Задать id группы вручную.
-o – Разрешить группу с неуникальным id.
groupmod group – изменение информации о группе group в системе
-n group2 задание нового имени group2
groupdel group – удаление группы group из системы
passwd user – изменяет/устанавливает пароль пользователя user
-l – блокирование учетной записи
-d – удаление пароля учетной записи (блокирование)
-f – установка даты прекращения полномочий
-n – минимальное время действия пароля в днях
-x – максимальное время действие пароля в днях
-w – число дней появления предупреждения об окончании действия пароля
-i – число дней, после которых пароль потеряет силу и учетка заблокируется.
-S – вывод сообщения о статусе пользователя
gpasswd group – изменяет/устанавливает пароль группы group (Наличие пароля группы позволяет пользователям временно войти в группу при помощи команды newgrp, если им известен пароль группы.)
id who – просмотр информации о пользователе/группе who (принадлежность к группам, UID, GID)
ulimit – ограничение пользовательских ресурсов:
-a – отображение всех возможных ресурсов
-f – ограничение размера файла
-t – процессорное время
Изменение порта для подключения по SSH

Чтобы изменить порт для подключения по SSH необходимо отредактировать файл конфигурации SSH демона. Откроем данный файл текстовым редактором:
vim /etc/ssh/sshd_config
Найдем строку Port 22 и изменим её, указав новый порт для подключения. Например Port 25022.

Выходим, сохраняем файл и перезагружаем SSH следующей командой:
service sshd restart

После перезапуска SSH, он станет доступен по новому порту, а текущая сессия на старом останется активной. Поэтому не отключаясь для проверки попробуем подключится по новому порту - если не пускает, то возможно в системе работает фаервол и нужно в нем разрешить новый порт, например в iptables это делается так (где 25022 наш новый порт):
iptables -A INPUT -p tcp --dport 25022 -j ACCEPT

Можно разрешить средствами iptables подключение к SSH только с указанного диапазона IP адресов:
iptables -A INPUT -d 192.168.0.0/24 -p tcp --dport 25022 -j ACCEPT

где 192.168.0.0/24 - IP адрес сети и маска сети, с которых разрешено подключение по SSH. Далее проверяем подключение по SSH на новом порту ssh <user>@<ip> -p <port> - если подключение выполняется, то можем удалить правило iptables подключения по SSH по старому порту:
iptables -D INPUT -p tcp --dport 22 -j ACCEPT

Посмотреть в системе на каком порту и на каких сетевых интерфейсах работает SSH можно следующей командой:
netstat -tulpan | grep ssh
👍3
Внедрение GitOps с помощью ArgoCD: пошаговое руководство

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

https://medium.com/@kalimitalha8/implementing-gitops-with-argocd-a-step-by-step-guide-b79f723b1a43
Более чем 80 средств мониторинга системы Linux

По ссылке будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.

https://habr.com/ru/companies/ua-hosting/articles/281519/
1
Приостановка и продолжение исполнения процесса
Для приостановки и продолжения исполнения процессов следует использовать сигналы SIGSTOP и SIGCONT соответственно. Да, как вы наверняка уже догадались, ранее рассмотренная команда:

$ kill 14371

Превратится в команду для приостановки исполнения процесса:
$ kill -s SIGSTOP 14371

Или команду для продолжения исполнения процесса:
$ kill -s SIGCONT 14371
Что такое FSMO роли, их назначение и можно ли без них жить

Многие системные администраторы, работая с Microsoft Active Directory Domain Services не знают или не до конца понимают, что такое FSMO роли и для чего они нужны. Те кто о них знает, не всегда понимает важность этих ролей, в каких случаях владелец ролей обязательно должен быть доступен, а в каких случаях их отсутствие практически никак не отразится на работе службы каталогов.

В статье ниже, будет в кратце рассказано про Flexible single-master operations «операции с одним исполнителем». А также можно ли без них жить.

https://telegra.ph/CHto-takoe-FSMO-roli-ih-naznachenie-i-mozhno-li-bez-nih-zhit-09-07
👍2
Media is too big
VIEW IN TELEGRAM
Как работает процесс загрузки Linux?
Руководство по стеку протоколов TCP/IP для начинающих

Cтек протоколов TCP/IP широко распространен. Он используется в качестве основы для глобальной сети интернет. Разбираемся в основных понятиях и принципах работы стека.

https://telegra.ph/Rukovodstvo-po-steku-protokolov-TCPIP-dlya-nachinayushchih-12-08