projects:linux:manual_backup_scripts:oss_check
Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
projects:linux:manual_backup_scripts:oss_check [2025/04/08 00:15] – создано | projects:linux:manual_backup_scripts:oss_check [2025/04/11 17:44] (текущий) – | ||
---|---|---|---|
Строка 3: | Строка 3: | ||
// | // | ||
+ | <code bash oss_check.sh> | ||
+ | #!/bin/bash | ||
+ | export LANG=en_US.UTF-8 | ||
+ | export LC_ALL=en_US.UTF-8 | ||
+ | # ==DIS/ | ||
+ | # === OSS Check === | ||
+ | # 08_oss_check.sh — Проверка целостности системы после восстановления SD | ||
+ | # | ||
+ | # Стартовый заголовок проверки | ||
+ | echo "📦 Проверка целостности системы Raspberry Pi" | ||
+ | echo " | ||
+ | |||
+ | # Вспомогательные функции для форматированного вывода результатов | ||
+ | ok() { echo "✅ $1"; } | ||
+ | fail() { echo "❌ $1"; } | ||
+ | |||
+ | # Корневой раздел — информация о доступном и свободном месте | ||
+ | # Также выводим устройство, | ||
+ | echo -n "🔍 Размер root-раздела: | ||
+ | df -h / | awk 'NR==2 {print $2 " total, " $4 " free" | ||
+ | echo -n "🔍 Root-раздел: | ||
+ | findmnt -n -o SOURCE / | ||
+ | |||
+ | # Проверка наличия критических файлов / | ||
+ | # Эти файлы часто теряются при некорректном восстановлении или сбоев на SD | ||
+ | |||
+ | echo -n "🔍 / | ||
+ | [[ -f / | ||
+ | |||
+ | echo -n "🔍 /etc/fstab: " | ||
+ | [[ -f /etc/fstab ]] && ok " | ||
+ | |||
+ | # Проверка статуса службы SSH (часто требуется для удалённого управления) | ||
+ | echo -n "🔍 Служба SSH: " | ||
+ | if systemctl is-active ssh &>/ | ||
+ | ok " | ||
+ | else | ||
+ | fail " | ||
+ | echo " | ||
+ | fi | ||
+ | |||
+ | # Проверка интерфейсов WireGuard | ||
+ | # Проверяется наличие утилиты wg и активные интерфейсы | ||
+ | |||
+ | echo -n "🔍 WireGuard-интерфейсы: | ||
+ | if command -v wg &>/ | ||
+ | ACTIVE_WG=$(wg show interfaces) | ||
+ | [[ -n " | ||
+ | else | ||
+ | fail " | ||
+ | fi | ||
+ | |||
+ | # Проверка работы службы Docker | ||
+ | # Важно для работы контейнеров (например, | ||
+ | echo -n "🔍 Служба Docker: " | ||
+ | if systemctl is-active docker &>/ | ||
+ | ok " | ||
+ | else | ||
+ | fail " | ||
+ | fi | ||
+ | |||
+ | # Проверка наличия и активности контейнера RustDesk | ||
+ | # Используется grep, так как имя контейнера может быть внутри строки docker ps | ||
+ | echo -n "🔍 Контейнер rustdesk-server: | ||
+ | if command -v docker &>/ | ||
+ | docker ps | grep -q rustdesk && ok " | ||
+ | else | ||
+ | fail " | ||
+ | fi | ||
+ | |||
+ | # Проверка последних ошибок ядра через dmesg | ||
+ | # Возможны предупреждения, | ||
+ | # Исключаются Bluetooth-сообщения, | ||
+ | |||
+ | if dmesg &>/ | ||
+ | echo -n "🔍 Ошибки ядра: " | ||
+ | DMESG_OUTPUT=$(dmesg | grep -iE ' | ||
+ | if [[ -n " | ||
+ | echo | ||
+ | echo " | ||
+ | else | ||
+ | ok " | ||
+ | fi | ||
+ | else | ||
+ | fail " | ||
+ | fi | ||
+ | |||
+ | # Отображение IP-адресов всех активных сетевых интерфейсов | ||
+ | # Проверяется наличие утилиты ip, так как в некоторых минимальных сборках её нет | ||
+ | |||
+ | echo "🔍 IP-адреса:" | ||
+ | if command -v ip &>/ | ||
+ | ip -o -4 addr show | awk ' | ||
+ | else | ||
+ | fail " | ||
+ | fi | ||
+ | |||
+ | # Проверка подключения к интернету через ping на 1.1.1.1 или 8.8.8.8 | ||
+ | # Это может выявить проблемы с маршрутизацией или DNS | ||
+ | |||
+ | echo -n "🌐 Подключение к интернету (1.1.1.1): " | ||
+ | if ping -c 1 -W 1 1.1.1.1 &>/ | ||
+ | ok " | ||
+ | else | ||
+ | fail " | ||
+ | fi | ||
+ | |||
+ | # Завершение проверки | ||
+ | |||
+ | echo " | ||
+ | echo "🧪 Проверка завершена" | ||
+ | |||
+ | # ВОЗМОЖНО: | ||
+ | # Например: | ||
+ | # exit $STATUS | ||
+ | </ | ||
+ | ===== ******* ===== | ||
+ | [[https:// |
projects/linux/manual_backup_scripts/oss_check.1744060548.txt.gz · Последнее изменение: 2025/04/08 00:15 —