Sftp verwenden, ohne es zu montieren

1210
culebrón

Wenn ich sftp / ftp einbinde und die Verbindung für eine Weile unterbrochen wird, "friert" das Mount ein und friert jeden Prozess ein, der damit befasst (Editor, Nautilus, umount usw.). Ich kann den Ordner nicht einmal aushängen. (Mein System ist Ubuntu 9.10)

Wie können Sie Dateien in diesem Sftp / FTP-Ordner bearbeiten, ohne sie anzuhängen, um diese Einfrierungen zu vermeiden?

Eine ausführlichere Erklärung:

Ich arbeite als Webprogrammierer und muss viele Dateien auf einem kommerziellen Webhosting bearbeiten. Ich sshfs (mount) einen Sftp-Ordner nach / media / project1 und bearbeite dort Dateien. Unser Firmen-LAN verwendet ADSL, das alle halbe Stunde kurz unterbrochen wird (ich merke das nicht, aber meine sshfs tun dies). Nach einem Verbindungsabbruch funktionieren die Webbrowser einwandfrei, aber auf / media / project1 kann nicht zugegriffen werden. Jeder Prozess, der / media / project1 danach berührt, wird ununterbrechbar. Killall, kill -9 PID wirken sich für 5-15 Minuten nicht aus.

Wenn dies geschieht, friert mein Editor ein, ich kann nichts bearbeiten oder den Ordner aushängen. Ich könnte eine andere Instanz des Editors ausführen und das Sftp in einem weiteren Ordner mounten, aber dies ist arbeits- und speicherintensiv.

Ich freue mich über jede Idee, dies zu vermeiden.

2

3 Antworten auf die Frage

1
warren

Sie könnten über eine SSH-Verbindung arbeiten und direkt auf den Zielservern bearbeiten.

Oder kopieren Sie die Dateien lokal und schieben Sie sie zurück, wenn sie entsprechend aktualisiert wurden.

1
quack quixote

Alle Netzlaufwerktechnologien leiden unter dem aufgetretenen Problem. Wenn Sie Dateien auf dem Laufwerk öffnen und die Netzwerkverbindung unterbrochen wird, wird jedes Programm einfrieren, das versucht, auf das Laufwerk zuzugreifen.

Eine sicherere Methode ist:

  1. Laden Sie die zu bearbeitenden Dateien über scp / sftp herunter und legen Sie sie in einem lokalen Ordner ab.

  2. Bearbeiten Sie die Dateien lokal.

  3. Laden Sie die bearbeiteten Dateien über scp / sftp zurück auf den Server.

Eine alternative Methode (Erweiterung um etwas Erwähntes erwähntes, aber dies funktioniert nur, wenn Sie in einem Terminal bearbeiten können - keine GUIs erlaubt):

  1. ssh zum entfernten Computer.

  2. Führen Sie "screen" aus, um Ihre Bearbeitung vor Verbindungsabbrüchen zu schützen.

  3. Bearbeiten Sie die Dateien mit Ihrem bevorzugten Editor (vi / m, emacs, nano, was auch immer) oder führen Sie Befehlszeilentools für die Multimedia-Verarbeitung aus.

  4. Wenn die Verbindung getrennt ist, verbinden Sie sich erneut mit ssh und führen Sie "screen -D -R" aus, um zur vorherigen Sitzung zurückzukehren.

Ich denke, die Optionen sind `-d -r` zum Trennen und Wiederverbinden. Wenn Sie jedoch Ihr Hauptterminal verlieren, reicht in der Regel ein` -r` aus. warren vor 14 Jahren 0
from the manpage: "-D -R Attach here and now. In detail this means: If a session is running, then reattach. If necessary detach and logout remotely first. If it was not running create it and notify the user. This is the author's favorite." it's mildly overkill for MOST situations, but i find it good habit. i also like: "-D -RR Attach here and now. Whatever that means, just do it." quack quixote vor 14 Jahren 0
0
Ryan Thompson

Sie können sshfs mit autossh verwenden, um einen respawning sshfs-Einhängepunkt zu erstellen. Ich habe es nicht selbst gemacht, aber ich habe vor, und Howtos stehen auf Google-Suche zur Verfügung.

Das könnte ich suchen. Entschuldigung, haben Sie nicht 15 Punkte, um dies zu bewerten. culebrón vor 14 Jahren 0