Админские угодья
1.46K subscribers
461 photos
40 videos
222 links
Всё для системного администратора

По всем вопросам : @Sofiia_artamonova
Download Telegram
Шпаргалка по утилите top

Команда top в Linux используется для мониторинга системных процессов и загрузки системы в реальном времени.

▪️Основной вывод
- PID: Идентификатор процесса.
- USER: Имя пользователя, которому принадлежит процесс.
- PR: Приоритет процесса.
- NI: Значение nice для процесса.
- VIRT: Объем виртуальной памяти, используемой процессом.
- RES: Объем физической (резидентной) памяти.
- SHR: Объем разделяемой памяти.
- S: Состояние процесса (R – выполняется, S – спит, D – ждет, Z – зомби, T – остановлен).
- %CPU: Доля времени процессора, используемая процессом.
- %MEM: Доля физической памяти, используемая процессом.
- TIME+: Общее время работы процесса.
- COMMAND: Команда, запустившая процесс.

▪️Основные клавиши
- q: Выход из программы top.
- h: Вызов справки.
- k: Завершение процесса по PID.
- r: Изменение приоритета процесса (renice).
- z: Переключение цвета интерфейса.
- P: Сортировка по использованию CPU (по умолчанию).
- M: Сортировка по использованию памяти.
- T: Сортировка по времени работы процесса.
- 1: Показать загрузку процессоров по ядрам.
- Shift + i: Игнорировать процессы с нулевой загрузкой CPU.
- Shift + e: Переключение между единицами памяти (KB, MB, GB).

▪️Параметры при запуске
- top -d [секунды]: Установить интервал обновления (по умолчанию 3 секунды).
- top -u [имя_пользователя]: Показать процессы определенного пользователя.
- top -p [PID]: Отслеживать процесс по PID.
- top -n [число]: Указать, сколько обновлений произвести перед завершением программы.

▪️Фильтрация и управление отображением
- f: Настройка колонок.
- o: Сортировка по выбранной колонке.
- s: Изменение интервала обновления в реальном времени.
- X: Установить маску для поиска процессов.
Полезные Bash скрипты для Linux

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


#!/bin/bash
SOURCE_DIR="/path/to/source"
BACKUP_DIR="/path/to/backup"
TIMESTAMP=$(date +"%Y%m%d%H%M%S")
tar -czvf "$BACKUP_DIR/backup_$TIMESTAMP.tar.gz" "$SOURCE_DIR"
echo "Backup completed successfully! 🎉"


Очистка временных файлов
Этот скрипт удаляет все временные файлы старше 7 дней из указанной директории. Это помогает поддерживать чистоту в системе и освобождать место на диске.


#!/bin/bash
TEMP_DIR="/path/to/temp"
find "$TEMP_DIR" -type f -mtime +7 -exec rm -f {} \;
echo "Temporary files older than 7 days have been deleted 🧹"


Автоматическое обновление системы
Этот скрипт обновляет систему, устанавливая все доступные обновления. Это полезно для поддержания системы в актуальном состоянии.


#!/bin/bash
sudo apt update && sudo apt upgrade -y
echo "System updated successfully! 🔄"


Проверка доступности веб-сайта
Этот скрипт проверяет доступность указанного веб-сайта и отправляет уведомление, если сайт недоступен. Это полезно для мониторинга состояния веб-сайтов.


#!/bin/bash
URL="https://example.com"
if ! curl -s --head "$URL" | grep "200 OK" > /dev/null; then
echo "Website $URL is down! 🚨"
fi
Шпаргалка по скриптам Bash

Основы написания скриптов на Bash
Условные операторы
Циклы Bash
Арифметические операторы
Арифметические условные операторы
Операторы сравнения строк
👍1
Примеры скриптов для Mikrotik


Проверка изменения IP-адреса интерфейса для Mikrotik

Иногда провайдер выдает динамические IP-адреса. Этот скрипт проверит, не изменился ли динамический IP-адрес.

:global currentIP;

:local newIP [/ip address get [find interface="ether1"] address];

:if ($newIP != $currentIP) do={
:put "ip address $currentIP changed to $newIP";
:set currentIP $newIP;
}


Netmask

Этот скрипт полезен, если вам нужен ip-адрес без netmask (например, чтобы использовать его в брандмауэре), а "/ip address get [id] address" возвращает ip-адрес и netmask.

:global ipaddress 10.1.101.1/24

:for i from=( [:len $ipaddress] - 1) to=0 do={
:if ( [:pick $ipaddress $i] = "/") do={
:put [:pick $ipaddress 0 $i]
}
}



Резолвим имя хоста

Многие пользователи спрашивают, как использовать dns-имена вместо IP-адресов для серверов radius, правил брандмауэра и т. д.

Вот пример того, как резовлить IP-адрес сервера RADIUS.
Допустим, у нас настроен сервер radius:

/radius
add address=3.4.5.6 comment=myRad


А вот скрипт, который резовлит ip-адрес, сравнит ip с настроенным и заменит, если они не равны:

/system script add name="resolver" source= {

:local resolvedIP [:resolve "server.example.com"];
:local radiusID [/radius find comment="myRad"];
:local currentIP [/radius get $radiusID address];

:if ($resolvedIP != $currentIP) do={
/radius set $radiusID address=$resolvedIP;
/log info "radius ip updated";
}

}



Добавьте этот скрипт в планировщик, чтобы он выполнялся, например, каждые 5 минут

/system scheduler add name=resolveRadiusIP on-event="resolver" interval=5m
👍3
Создаем логические тома LVM на Linux

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

Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.

https://telegra.ph/Sozdaem-logicheskie-toma-LVM-na-Linux-10-09
Команда curl. Синтаксис. Примеры использования

Сurl – утилита командной строки для скачивания и загрузки данных. Она выросла из проекта шведского программиста Даниэля Стенберга. Изначально в середине 90-х, на заре развития Интернета, он разрабатывал бота, который должен был загружать с веб-страницы курсы валют и сообщать пользователям IRC эквивалент шведских крон в долларах США. Со временем проект развивался, появлялась поддержка различных протоколов и новые функции. Теперь curl используется для передачи любых данных и ряда других полезных задач. Рассмотрим основные моменты работы с этим инструментом.

https://telegra.ph/Komanda-curl-Sintaksis-Primery-ispolzovaniya-09-26
👍2