Использование sftp без его установки

960
culebrón

Когда я монтирую sftp / ftp, и какое-то время разрывается соединение, монтирование «зависает» и останавливает любой процесс, который с ним работает (редактор, Nautilus, umount и т. Д.). Я не могу даже размонтировать папку. (Моя система Ubuntu 9.10)

Как можно редактировать файлы в этой папке sftp / ftp, не монтируя их, чтобы избежать этих зависаний?

Более подробное объяснение:

Я работаю веб-программистом, и мне приходится редактировать множество файлов на коммерческом веб-хостинге. Я sshfs (монтирую) папку sftp в / media / project1 и редактирую там файлы. Наша корпоративная локальная сеть использует ADSL, который отключается на короткое время каждые полчаса (я этого не замечаю, но мой sshfs делает). После отключения веб-браузеры работают нормально, но / media / project1 недоступен. Любой процесс, который затрагивает / media / project1 после этого, становится бесперебойным, следовательно, killall, kill -9 PID не действуют в течение 5-15 минут.

Когда это происходит, мой редактор зависает, я не могу ничего редактировать и не могу размонтировать папку. Я мог бы запустить еще один экземпляр редактора, смонтировать sftp в еще одну папку, но это требует больших затрат труда и памяти.

Я буду признателен за любые идеи, чтобы избежать этого.

2

3 ответа на вопрос

1
warren

Вы можете рассмотреть возможность работы по ssh-соединению и непосредственного редактирования на целевых серверах.

Или скопируйте файлы локально, а затем отодвиньте их обратно, когда они будут обновлены соответствующим образом.

1
quack quixote

Все технологии сетевых дисков страдают от проблемы, с которой вы столкнулись; Если вы откроете файлы на диске, и сетевое соединение будет разорвано, любая программа, пытающаяся получить доступ к диску, зависнет.

Более безопасный метод:

  1. Загрузите файлы, которые вам нужно отредактировать, через scp / sftp и поместите их в какую-нибудь локальную папку.

  2. Редактируйте файлы локально.

  3. Загрузите отредактированные файлы обратно на сервер через scp / sftp.

Альтернативный метод (расширение на что-то упомянутое, но это работает только в том случае, если редактирование может быть выполнено внутри терминала - GUI не допускается):

  1. SSH к удаленному компьютеру.

  2. запустить «экран», чтобы защитить ваши редактирования от отключений.

  3. отредактируйте файлы с помощью предпочитаемого вами редактора (vi / m, emacs, nano и т. д.) или запустите инструменты командной строки для обработки мультимедиа.

  4. если он отключен, переподключитесь с помощью ssh и запустите «screen -D -R», чтобы вернуться к предыдущему сеансу.

Я думаю, что есть опции `-d -r` для отключения и повторного подключения ... хотя, если вы потеряете свой главный терминал,` -r`, как правило, достаточно, по моему опыту :) warren 14 лет назад 0
из man-страницы: "-D -R Присоединить здесь и сейчас. Подробно это означает: если сеанс запущен, затем подключите его. При необходимости сначала отсоедините и выйдите из системы. Если он не был запущен, создайте его и уведомите пользователя. Это автор любимый. " для большинства ситуаций это немного излишне, но я нахожу это хорошей привычкой. Мне также нравится: «-D -RR Присоединяйтесь здесь и сейчас. Что бы это ни значило, просто сделайте это». quack quixote 14 лет назад 0
0
Ryan Thompson

Вы можете использовать sshfs с autossh, чтобы создать восстанавливающуюся точку монтирования sshfs. Я не сделал это сам, но я планирую, и с готовностью доступны в поиске Google.

Это может быть то, что я ищу. Извините, у вас нет 15 очков, чтобы проголосовать. culebrón 14 лет назад 0