Скрипт автоматического монтирования сетевых дисков при загрузке системы (Debian GNU/Linux).

#!/bin/bash

# Проверка доступности компьютера с сетевыми дисками.
# Указывается IP либо доменное имя, и интерфейс через который пинговать.
ping -c 3 -s 100 192.168.0.32 -I eth1 >/dev/null 2>&1

# Если не пингуется то спать 5 секунд и побывать снова.
if [ $? -ne 0 ]; then
sleep 5 | ./mount_ftp
#./mount_ftp Указание на сам-же скрипт.

# Если отвечает, то проверяем не смонтирован ли уже диск. Проверка идет
# переходом в какую-нибудь постоянную папку на сетевом диске. (Попытка перехода должна быть в точку монтирования.)
else
cd /mnt/FTP/BT >/dev/null 2>&1
fi

# Если нет, то монтируем. В команде монтирования указывается что, куда и под каким логином\паролем монтируется.
if [ $? -ne 0 ]; then
mount -t smbfs -o username=user pasword=pasword //ftp/volume_1 /mnt/FTP

# Если уже был смонтирован, то прекратить выполнение скрипта и выйти.
else
exit 0
fi

Смотрите так же:

Скрипт автоматического монтирования сетевых дисков при загрузке системы (Debian GNU/Linux).: 10 комментариев

  1. А как проверить не переходом в папку, а наличием определенного файла, ну скажем filename и если его нет, то выполнить монтирование? Спасибо

    1. Это один из моих первых, незапамятных скриптов, он хоть и работает, но коряв. Проверить легко, как файл test -f file, так и папку test -d folder

      А потом запросить переменную исполнения $? если отдает 0, значит норм, если 1, значит нет файла или папки.

      При логических конструкциях

      if test -f file; then echo «файл есть»; fi

      даже не надо проверять переменную $?

        1. Подойти то подойдет, но команда test делалась именно для цели проверки наличия или отсутствия файлов, папок, сравнения переменных и т.д. Лучше и правильнее пользоваться этой командой.

        2. Мне кажется, вам не для монтирования все это надо. Если есть задача мониторить папку на появление в ней чего то, есть отличная шутка — incron http://habrahabr.ru/post/66569/

          1. Как раз таки для монтирования, только sshfs монтирования. Все вроде работает, спасибо за напутствие))

  2. Да надо выложить ) тут можно еще добавить при не доступности хоста отправлять почту админу.

  3. Рад, что кому то это пригодилось. Только криво написанно, тут надо цикл использовать, а этот скрипт забивает память ненужными копиями самого себя. Я уже давно испаравил его, и кое что добавил. Может выложу позже.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.