Полезняшки: sshfs

Turik Askaryanov 2011 M05 7
369
0
0
0

Поделюсь небольшим трюком, который экономит мне много времени и позволяет более гибко работать с серверами клиентов, а так же своими. Поясню для начала, что ftp недолюбливаю и считаю его лишним на...

Поделюсь небольшим трюком, который экономит мне много времени и позволяет более гибко работать с серверами клиентов, а так же своими.

Поясню для начала, что ftp недолюбливаю и считаю его лишним на сервере. SSH более безопасен в этом плане и есть по умолчанию в сборках систем для серверов (хостинг на win платформе немного в “пролете”). Второй момент: я в качестве рабочей системы использую Ubuntu. Данная операционная система набирает обороты, а для web-программистов/администраторов это хорошая возможность иметь полнофункциональную систему и не отдалятся от “корней” командной строки.

Итак, приступим.

Для работы с удаленными серверами через SSH нам потребуется поставить

sudo apt-get install sshfs

Далее у нас появится удобный инструмент ля подключения удаленной файловой системы локально:

sshfs -C -p 22 user@example.com:/ /home/user/

Поясню параметры:

-С – включаем сжатие (немного экономит трафик и ускоряет соединение)

-p 22 – задаем порт ssh (если он нестандартный)

user@example.com:/ - имя пользователя на удаленном сервере и его адрес (можно указывать ip). Хочу заметить, что в конце стоит :/ - это путь на удаленном сервере, я обычно пишуuser@example.com:/var/www/ как путь "по умолчанию" ко всем сайтам на сервере.

/home/user/server1/ - путь по которому мы монтируем к себе удаленный сервер.

Для еще большего упрощения работы я использую небольшой скрипт:

#!/bin/bash
 
MOUNT_PATH=/home/user/mnt/example.com
 
if [ "$1" = "-u" ]; then
 fusermount -u -z $MOUNT_PATH
 else
 sshfs -C user@example.com:/home/user/public_html $MOUNT_PATH
 fi

Можно наделать целую пачку таких файлов по типу user@example.com.sh

Не забудем сделать его исполняемым и при запуске и ввода пароля получим подключенный удаленный сервер как папку на локалке, а при запуске user@example.com.sh -u мы отключим его.

Теперь максимально удобно работаем с проектами на удаленных серверах, как если бы они были бы локально установлены. Sshfs максимально быстро синхронизирует файлы – это дает нам возможность сохранить файл и уже через пару секунд видеть изменение на сервере. Мы можем работать и в команде с другими людьми (главное не править одни и те же файлы одновременно). Удобно делать бэкапы (простое копирование в локальную папку себе). Удобно использовать удаленный сервер для бэкапа своих данных или просто как возможность делится с кем либо файлами (файловое хранилище). Инструментдля всего этого я дал, а как его еще использовать решать вам.

Оцените пост

0