Чтобы монтировать удалённые SSH-директории — вам понадобится утилита sshfs.
Для Debian или Ubuntu достаточно выполнить:
sudo apt-get install sshfsFedora:
sudo yum install fuse-sshfs
Чтобы монтировать по FTP нам понадобится CurlFtpFS.
Debian/Ubuntu:
sudo apt-get install curlftpfsFedora:
sudo yum install curlftpfs
Этот скрипт не работает сам по себе, он выступает в роли прототипа, в своём рабочем скрипте вы просто подключаете его в конец файла (см. далее).
В моём случае так: у меня есть директория в домашнем каталоге, в которой содержится набор пустых директорий под проекты, в которые будут смонтированны удалённые директории. И рядом с этими директориями лежат маленькие скрипты для каждого проекта, в которых указаны пути (удалённый и локальный, точка монтирования то-бишь), сервер, тип монтирования и подключен этот самый скрипт, о котором идёт речь, и этот скрипт лежит в этой же директории.
Выберите место для этих экспериментов, например:
mkdir ~/some_place && cd ~/some_placeСохраните в эту директорию этот самый скрипт с именем mount.sh (ну или как вам больше нравится.
Теперь создайте пустую директорию, в которую будет смонтирована удалённая директория:
mkdir remote_dirИ далее создаём маленький скрипт (к примеру с именем remote_dir.mount) для монтирования удалённой директории в локальную:
#/bin/bash cd "$(dirname "$0")" # на случай если скрипт будет запущен с рабочей директорией, отличной от той, в которой лежит скрипт MOUNT_TYPE="SSH" # или указываем "FTP" LOGIN="user" # если не указать эту переменную, будет взят текуйщий пользователь, который запустил скрипт SERVER="domain.org" # домен удалённого сервера REMOTE_PATH="/home/user/remote_dir" # путь на удалённом сервере LOCAL_PATH="~/some_place/remote_dir" # локальный путь до точки монтирования source mount.sh # собственно подключаем скачанный скриптНе забываем дать права на исполнение (давать права на исполнение файлу mount.sh не обязательно):
chmod +x remote_dir.mountТеперь для монтирования вам достаточно вызвать в консоли:
./remote_dir.mountА чтобы отмонтировать:
./remote_dir.mount -uили
./remote_dir.mount --unmount
Обратите внимание, что для того, чтобы в указанный путь смонтировалась директория (будь она удалённой или нет), — нужно чтобы по этому пути уже существовала пустая директория (особенности монтирования в linux).
Также хочу обратить внимание на то, что если у вас нестабильный интернет и произошёл разрыв в то время, когда была смонтирована удалённая директория, — файловая система будет дико и намертво залипать, особенно при входе в директорию, где находится точка монтирования. Открываем консоль, сначала никуда не переходим (лучше не монтировать удалённую директорию прямо в домашний каталог, ведь если по-умолчанию в терминале вы попадаете в домашнюю директорию — терминал повиснет), теперь нужно принудительно убить процесс sshfs:
killall -9 sshfsА после нужно отмонтировать нашим скриптом удалённую директорию:
~/some_place/remote_dir.mount -uПосле этих действий — система вернётся в рабочее состояние.
Скачать скрипт
Комментариев нет:
Отправить комментарий