projects:linux:manual_backup_scripts:mount_nas
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| projects:linux:manual_backup_scripts:mount_nas [2025/04/07 10:35] – | projects:linux:manual_backup_scripts:mount_nas [2025/04/11 17:40] (текущий) – | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Подключение сетевого ресурса ====== | ====== Подключение сетевого ресурса ====== | ||
| + | // | ||
| **Монтирование сетевого ресурса.** \\ | **Монтирование сетевого ресурса.** \\ | ||
| Строка 25: | Строка 26: | ||
| # ==DIS/ | # ==DIS/ | ||
| # === Nas Mount === | # === Nas Mount === | ||
| - | # mount_nas.sh 🛧 Монтирование сетевого ресурса (Windows SMB) | + | # 02_mount_nas.sh 🛧 Монтирование сетевого ресурса (Windows SMB) |
| # Скрипт подключает расшаренную папку по SMB в каталог / | # Скрипт подключает расшаренную папку по SMB в каталог / | ||
| # | # | ||
| set -euo pipefail | set -euo pipefail | ||
| + | |||
| + | # Проверка наличия утилиты mount.cifs | ||
| + | if ! command -v mount.cifs >/ | ||
| + | echo "❌ Не установлена утилита mount.cifs (пакет cifs-utils)." | ||
| + | echo "📦 Установите её с помощью: | ||
| + | exit 1 | ||
| + | fi | ||
| # === ░░ БЛОК: ФАЙЛ КОНФИГУРАЦИИ ░░ === | # === ░░ БЛОК: ФАЙЛ КОНФИГУРАЦИИ ░░ === | ||
| Строка 54: | Строка 62: | ||
| fi | fi | ||
| # === ░░ КОНЕЦ БЛОКА: ФАЙЛ КОНФИГУРАЦИИ ░░ === | # === ░░ КОНЕЦ БЛОКА: ФАЙЛ КОНФИГУРАЦИИ ░░ === | ||
| + | |||
| + | # === ░░ ФУНКЦИЯ МОНТИРОВАНИЯ NAS ░░ === | ||
| + | mount_nas() { | ||
| + | local mount_point="/ | ||
| + | echo "📁 Проверка каталога: | ||
| + | sudo mkdir -p " | ||
| + | |||
| + | echo "🌐 Проверка ресурса // | ||
| + | if ! ping -c 1 -W 1 " | ||
| + | echo "❌ Хост $NAS_IP недоступен по сети." | ||
| + | return | ||
| + | fi | ||
| + | |||
| + | if mountpoint -q " | ||
| + | local current_source expected_source | ||
| + | current_source=$(findmnt -n -o SOURCE --target " | ||
| + | expected_source="// | ||
| + | |||
| + | if [[ " | ||
| + | echo "✅ Ресурс уже примонтирован: | ||
| + | echo " | ||
| + | return | ||
| + | else | ||
| + | echo " | ||
| + | echo " | ||
| + | echo " | ||
| + | echo "" | ||
| + | echo "1 - 🔄 Отмонтировать и примонтировать заново" | ||
| + | echo "2 - 📁 Примонтировать в другой каталог" | ||
| + | echo "0 - ❌ Отмена" | ||
| + | read -rp "👉 Ваш выбор: " choice | ||
| + | |||
| + | case " | ||
| + | 1) | ||
| + | echo "🔌 Отмонтирование $mount_point..." | ||
| + | sudo umount " | ||
| + | ;; | ||
| + | 2) | ||
| + | read -rp "📂 Введите альтернативный каталог (например: | ||
| + | [[ -z " | ||
| + | mount_point=" | ||
| + | sudo mkdir -p " | ||
| + | ;; | ||
| + | *) | ||
| + | echo " | ||
| + | return | ||
| + | ;; | ||
| + | esac | ||
| + | fi | ||
| + | fi | ||
| + | |||
| + | echo "🔗 Монтирование ресурса..." | ||
| + | if sudo mount -t cifs "// | ||
| + | -o username=" | ||
| + | echo "✅ Успешно примонтировано в $mount_point" | ||
| + | else | ||
| + | echo "❌ Ошибка монтирования." | ||
| + | fi | ||
| + | } | ||
| + | # === ░░ КОНЕЦ ФУНКЦИИ ░░ === | ||
| # === ░░ БЛОК: МЕНЮ ПОЛЬЗОВАТЕЛЯ ░░ === | # === ░░ БЛОК: МЕНЮ ПОЛЬЗОВАТЕЛЯ ░░ === | ||
| Строка 84: | Строка 152: | ||
| continue | continue | ||
| fi | fi | ||
| - | | + | |
| - | + | ||
| - | 4) | + | |
| - | if [[ " | + | |
| - | echo "🔓 Разовое подключение без сохранения конфигурации" | + | |
| - | read -rp "🌐 IP NAS-сервера: | + | |
| - | read -rp "📂 Имя расшаренной папки: " SHARE_NAME | + | |
| - | read -rp "👤 Имя пользователя: | + | |
| - | read -rsp "🔑 Пароль: | + | |
| - | echo "" | + | |
| - | fi | + | |
| - | + | ||
| - | # === ░░ БЛОК: ПОДКЛЮЧЕНИЕ NAS ░░ === | + | |
| - | MOUNT_POINT="/ | + | |
| - | echo "📁 Проверка каталога: | + | |
| - | sudo mkdir -p " | + | |
| - | + | ||
| - | echo "🌐 Проверка ресурса // | + | |
| - | if ! ping -c 1 -W 1 " | + | |
| - | echo "❌ Хост $NAS_IP недоступен по сети." | + | |
| - | continue | + | |
| - | fi | + | |
| - | + | ||
| - | if mountpoint -q " | + | |
| - | CURRENT_SOURCE=$(findmnt -n -o SOURCE --target " | + | |
| - | EXPECTED_SOURCE="// | + | |
| - | + | ||
| - | if [[ " | + | |
| - | echo "✅ Ресурс уже примонтирован: | + | |
| - | echo " | + | |
| - | continue | + | |
| - | else | + | |
| - | echo " | + | |
| - | echo " | + | |
| - | echo " | + | |
| - | echo "" | + | |
| - | echo "1 - 🔄 Отмонтировать и примонтировать заново" | + | |
| - | echo "2 - 📁 Примонтировать в другой каталог" | + | |
| - | echo "0 - ❌ Отмена" | + | |
| - | read -rp "👉 Ваш выбор: " choice | + | |
| - | + | ||
| - | case " | + | |
| - | 1) | + | |
| - | echo "🔌 Отмонтирование $MOUNT_POINT..." | + | |
| - | sudo umount " | + | |
| - | ;; | + | |
| - | 2) | + | |
| - | read -rp "📂 Введите альтернативный каталог (например: | + | |
| - | [[ -z " | + | |
| - | MOUNT_POINT=" | + | |
| - | sudo mkdir -p " | + | |
| - | ;; | + | |
| - | *) | + | |
| - | echo " | + | |
| - | continue | + | |
| - | ;; | + | |
| - | esac | + | |
| - | fi | + | |
| - | fi | + | |
| - | + | ||
| - | echo "🔗 Монтирование ресурса..." | + | |
| - | if sudo mount -t cifs "// | + | |
| - | -o username=" | + | |
| - | echo "✅ Успешно примонтировано в $MOUNT_POINT" | + | |
| - | else | + | |
| - | echo "❌ Ошибка монтирования." | + | |
| - | fi | + | |
| - | # === ░░ КОНЕЦ БЛОКА: ПОДКЛЮЧЕНИЕ NAS ░░ === | + | |
| ;; | ;; | ||
| Строка 168: | Строка 169: | ||
| echo "❎ Отмена удаления." | echo "❎ Отмена удаления." | ||
| fi | fi | ||
| + | ;; | ||
| + | |||
| + | 4) | ||
| + | echo "🔓 Разовое подключение без сохранения конфигурации" | ||
| + | read -rp "🌐 IP NAS-сервера: | ||
| + | read -rp "📂 Имя расшаренной папки: " SHARE_NAME | ||
| + | read -rp "👤 Имя пользователя: | ||
| + | read -rsp "🔑 Пароль: | ||
| + | echo "" | ||
| + | mount_nas | ||
| ;; | ;; | ||
| Строка 177: | Строка 188: | ||
| done | done | ||
| # === ░░ КОНЕЦ БЛОКА: МЕНЮ ПОЛЬЗОВАТЕЛЯ ░░ === | # === ░░ КОНЕЦ БЛОКА: МЕНЮ ПОЛЬЗОВАТЕЛЯ ░░ === | ||
| + | |||
| </ | </ | ||
| + | |||
| + | ===== ******* ===== | ||
| + | [[https:// | ||
projects/linux/manual_backup_scripts/mount_nas.1744011331.txt.gz · Последнее изменение: —
