Telegram Web Link
Сохрани, что не потерять! 😉
🔥32👍1
Шпаргалка: Управление дисками в Linux 💡

• Проверка дисков и разделов


lsblk # Показать список дисков и разделов (дерево)
lsblk -f # Показать ФС, UUID и метки
fdisk -l # Подробная инфа о дисках
blkid # UUID и тип ФС
df -h # Использование дисков в человекочитаемом формате
du -sh /путь/* # Размер папок в каталоге



• Работа с разделами


fdisk /dev/sdX # Создать/удалить раздел (MBR)
parted /dev/sdX # Работа с GPT/MBR
cfdisk /dev/sdX # Удобное текстовое меню


Примечание:


sdX
 — диск, например 
/dev/sda
.
После изменений:


partprobe # Обновить таблицу разделов



• Форматирование разделов


mkfs.ext4 /dev/sdXn # Создать ext4 ФС
mkfs.xfs /dev/sdXn # Создать XFS ФС
mkfs.fat -F32 /dev/sdXn # FAT32
mkswap /dev/sdXn # Создать swap-раздел


sdXn — раздел, например /dev/sda1.



• Монтирование дисков


mount /dev/sdXn /mnt # Смонтировать диск
umount /mnt # Отмонтировать диск
mount -a # Примонтировать всё из /etc/fstab


Пример 
fstab
 записи:



UUID=xxxx-xxxx /mnt/data ext4 defaults 0 2



• Проверка и восстановление файловых систем


fsck /dev/sdXn # Проверить и исправить ошибки ФС
e2fsck -f /dev/sdXn # Принудительная проверка ext4
xfs_repair /dev/sdXn # Восстановление XFS



• Работа с LVM


pvcreate /dev/sdX # Создать физ. том
vgcreate vg_name /dev/sdX # Создать группу томов
lvcreate -L 10G -n lv_name vg_name # Создать лог. том

lvextend -L +5G /dev/vg_name/lv_name # Увеличить размер
resize2fs /dev/vg_name/lv_name # Расширить ФС ext4



• Мониторинг и информация


iostat # Статистика ввода/вывода (пакет sysstat)
df -Th # Использование дисков + тип ФС
dmesg | grep -i error # Ошибки дисков
smartctl -a /dev/sdX # SMART-дата диска (пакет smartmontools)
👍41
Процессы в Linux - Всё, что нужно знать :

Что такое процесс?
Процесс - это экземпляр выполняемой программы. Он содержит код программы и её активность. В зависимости от операционной системы (ОС), процесс может состоять из нескольких потоков выполнения, которые выполняют инструкции параллельно.

https://reliabilityengineering.substack.com/p/everything-you-need-to-know-about
1
Пример Bash-скрипта, который выполняет следующие задачи

1. Проверяет доступность важного веб-сервера.
2. Проверяет использование дискового пространства.
3. Делает бэкап указанных директорий.
4. Отправляет отчет на электронную почту администратора.

Пример скрипта:


#!/bin/bash

# Установки
WEB_SERVER="https://example.com"
BACKUP_DIR="/backup"
TARGET_DIRS="/var/www /etc"
DISK_USAGE_THRESHOLD=90
ADMIN_EMAIL="[email protected]"
DATE=$(date +"%Y-%m-%d")
BACKUP_FILE="$BACKUP_DIR/backup-$DATE.tar.gz"

# Проверка доступности веб-сервера
echo "Проверка доступности веб-сервера..."
if curl -s --head $WEB_SERVER | grep "200 OK" > /dev/null; then
echo "Веб-сервер доступен."
else
echo "Внимание: Веб-сервер недоступен!" | mail -s "Проблема с веб-сервером" $ADMIN_EMAIL
fi

# Проверка дискового пространства
echo "Проверка дискового пространства..."
DISK_USAGE=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g')
if [ $DISK_USAGE -gt $DISK_USAGE_THRESHOLD ]; then
echo "Внимание: Использование дискового пространства превысило $DISK_USAGE_THRESHOLD%!" | mail -s "Проблема с дисковым пространством" $ADMIN_EMAIL
else
echo "Дискового пространства достаточно."
fi

# Создание бэкапа
echo "Создание бэкапа..."
tar -czf $BACKUP_FILE $TARGET_DIRS

if [ $? -eq 0 ]; then
echo "Бэкап успешно создан: $BACKUP_FILE"
else
echo "Ошибка создания бэкапа!" | mail -s "Ошибка создания бэкапа" $ADMIN_EMAIL
fi

# Отправка отчета
echo "Отправка отчета на $ADMIN_EMAIL..."
REPORT="Отчет за $DATE\n\n"
REPORT+="Статус веб-сервера: $(curl -s --head $WEB_SERVER | head -n 1)\n"
REPORT+="Использование дискового пространства: $DISK_USAGE%\n"
REPORT+="Расположение бэкапа: $BACKUP_FILE\n"

echo -e $REPORT | mail -s "Ежедневный отчет системы" $ADMIN_EMAIL

echo "Готово."


Описание:
1. Проверка веб-сервера: Используется команда curl, чтобы проверить, доступен ли сайт.
2. Проверка дискового пространства: С помощью df и awk проверяется использование диска. Если превышен порог (90%), отправляется уведомление.
3. Создание бэкапа: Команда tar архивирует и сжимает директории, которые указаны в переменной TARGET_DIRS.
4. Отправка отчета: Отчет по всем операциям отправляется на почту администратора с помощью mail.

Как использовать:
1. Задайте нужные параметры, такие как адрес веб-сервера, директории для бэкапа, порог использования диска и email.
2. Сделайте скрипт исполняемым:

chmod +x /path/to/your/script.sh

3. Добавьте скрипт в cron для выполнения на регулярной основе:

crontab -e

Пример для выполнения каждый день в 00:00:

0 0 * * * /path/to/your/script.sh
👍72
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет по Linux 💡

Найдите все нерабочие символьные ссылки в вашей системе с помощью:


find . -xtype l
2👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
Утилиты linux

rsync
-v — выводит подробную информацию о процессе копирования;
[-a] — сохраняет все атрибуты оригинальных файлов;
-u — не перезаписывать более новые файлы;
-l — копирует символьные ссылки;
-L — копирует содержимое ссылок;
-p — сохраняет права для файлов;
-t — сохраняет время модификации;
-e — использовать другой транспорт, например, ssh;
[-z] — cжимает файлы перед передачей;
—recursive — перебирать директории рекурсивно;
—exclude — Исключить файлы по шаблону;

Примеры:
rsync -avz skillproject/data/ . — из подкаталога в текущий каталог
rsync -avz skillproject/data/ aaa/ — из подпапки в подпапку aaa/
rsync -avz skillproject/data/ [email protected]:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — передача на удаленный сервер
rsync -avze ssh skillproject/data/ [email protected]:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — то же самое м явным указанием ssh

ss
-l или —listening — посмотреть только прослушиваемые порты;
-p или —program — показать имя программы и ее PID;
-t или —tcp — показать tcp порты;
-u или —udp показать udp порты;
-n или —numeric показывать ip адреса в числовом виде.

Примеры:
ss -tlpn — проверить все прослушивающие tcp-порты
ss -tulpn | grep :80 — показать все процессы, работающие на 80-м порту

ps
ps -e — показать все процессы
ps -ef — показать подробную информацию о каждом процессе
ps -ef | grep phantom — найти все процессы с именем phantom

mpstat
Показывает статистику загрузки процессора. Команды:
mpstat — показывает общую информацию
mpstat -P ALL — по каждому ядру

free
Показывает потребление ОЗУ на текущий момент:
free -h — показывает информацию в гигабайтах (более человеко читаемо, чем в байтах)

top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу

dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
dpkg -s <packname> — проверить, установлен ли пакет
dpkg -l — список всех пакетов
dpkg -l | grep apache2 — проверить, установлен ли конкретный пакет
dpkg -i <package.deb> — установить пакет

netstat
netstat -pnltu — посмотреть список используемых портов
👍3❤‍🔥11🔥1👏1
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Шпаргалка по расширенным параметрам в Bash
1
2025/10/20 08:54:44
Back to Top
HTML Embed Code: