Админские угодья
1.46K subscribers
462 photos
40 videos
223 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
This media is not supported in your browser
VIEW IN TELEGRAM
RBAC Wizard

RBAC Wizard - это инструмент, который помогает визуализировать и анализировать конфигурации RBAC в кластере Kubernetes. Он обеспечивает графическое представление объектов RBAC Kubernetes.

https://github.com/pehlicd/rbac-wizard
👍2
Как подключиться к контейнеру Docker по ssh

После того, как у вас появился контейнер Docker, работающий в системе Linux, одна из вещей, которые вам, вероятно, потребуется сделать, – это запустить команды внутри контейнера.

https://telegra.ph/Kak-podklyuchitsya-k-kontejneru-Docker-po-ssh-09-26
👍2
Шпаргалка по повышению привилегий в Linux

Эта шпаргалка предназначена для тех, кто готовится к OSCP, чтобы помочь им понять различные методы эскалации привилегий на машинах под управлением Linux и CTF с примерами.

https://github.com/Ignitetechnologies/Linux-Privilege-Escalation
👍2
Шпаргалка по PowerShell


Основные команды
- Get-Help <команда> – получить справку по команде
- Get-Command – список доступных команд
- Get-Command -Module <модуль> – команды из конкретного модуля
- Get-Alias – список псевдонимов команд
- Get-Process – список запущенных процессов
- Get-Service – список служб

Навигация по файловой системе
- Get-Location – текущий путь
- Set-Location <путь> – перейти к каталогу
- Get-ChildItem или ls – просмотр содержимого каталога
- New-Item -Path <путь> -Name <имя> -ItemType <тип> – создать файл или папку

Работа с файлами и папками
- Copy-Item -Path <источник> -Destination <назначение> – копировать файл/папку
- Move-Item -Path <источник> -Destination <назначение> – переместить файл/папку
- Remove-Item -Path <путь> – удалить файл/папку
- Rename-Item -Path <путь> -NewName <новое имя> – переименовать файл/папку

Работа с текстом и выводом
- Write-Output "текст" – вывод текста
- Write-Host "текст" – вывод текста на экран
- Read-Host -Prompt "вопрос" – ввод данных от пользователя
- Get-Content <файл> – чтение содержимого файла
- Set-Content <файл> – запись в файл
- Add-Content <файл> – добавление текста в файл

Переменные
- $<имя_переменной> = значение – создание переменной
- $var += значение – добавление к значению переменной
- $null – пустое значение

Условия и циклы
- if (<условие>) { <действие> } – условие if
- foreach ($item in $array) { <действие> } – цикл foreach
- while (<условие>) { <действие> } – цикл while

Работа с процессами и службами
- Start-Process <программа> – запуск программы
- Stop-Process -Name <имя> – завершение процесса
- Start-Service <служба> – запуск службы
- Stop-Service <служба> – остановка службы

Фильтрация и сортировка
- Where-Object { <условие> } – фильтрация объектов
- Sort-Object <свойство> – сортировка объектов

Примеры:
1. Получение списка файлов:

Get-ChildItem -Path "C:\папка"


2. Копирование файла:

Copy-Item -Path "C:\путь\файл.txt" -Destination "D:\копия\файл.txt"


3. Вывод чисел от 1 до 10:

for ($i = 1; $i -le 10; $i++) { Write-Output $i }


4. Фильтрация процессов по имени:

Get-Process | Where-Object { $_.Name -eq "notepad" }
👍1