Usando o sftp sem montá-lo

2

Quando eu montei o sftp / ftp, e a conexão quebra por um tempo, a montagem "congela" e irá congelar qualquer processo que lide com ela (o editor, Nautilus, umount, etc). Eu não consigo nem desmontar a pasta. (Meu sistema é o Ubuntu 9.10)

Qual é a maneira de editar arquivos na pasta sftp / ftp sem montá-los, a fim de evitar esses congelamentos?

Uma explicação mais detalhada:

Eu trabalho como programador web, e tenho que editar muitos arquivos em uma hospedagem web comercial. Eu sshfs (montei) uma pasta sftp para / media / project1 e edite arquivos lá. Nossa LAN corporativa usa ADSL, que se desconecta rapidamente a cada meia hora (não percebo isso, mas meu sshfs faz isso). Após uma desconexão, os borwsers da Web funcionam bem, mas / media / project1 não está acessível. Qualquer processo que toque / media / project1 depois disso, torna-se Uninterruptible, portanto, killall, kill -9 PID não tem efeito por 5-15 minutos.

Quando isso acontece, meu editor congela, não consigo editar nada, nem posso desmontar a pasta. Eu poderia executar outra instância do editor, montar o sftp em outra pasta, mas isso é trabalho e memória intensiva.

Eu aprecio todas as idéias para evitar isso.

culebrón
fonte

Respostas:

0

Você pode usar sshfs com autossh para criar um ponto de montagem sshfs respawning. Eu não fiz isso sozinho, mas eu pretendo, e howtos estão prontamente disponíveis na pesquisa do google.

Ryan Thompson
fonte
Isso pode ser o que estou procurando. Desculpe, não tem 15 pts para votar isso.
culebrón
1

Você pode considerar trabalhar sobre uma conexão ssh, editando diretamente nos servidores de destino.

Ou copiar os arquivos localmente e, em seguida, empurrá-los de volta quando eles forem atualizados adequadamente.

warren
fonte
1

Todas as tecnologias de drive de rede sofrem com o problema que você experimentou; Se você abrir arquivos na unidade e a conexão de rede for cortada, qualquer programa que tente acessar a unidade congelará.

Um método mais seguro é:

  1. Baixe os arquivos que você precisa editar via scp / sftp e coloque-os em alguma pasta local.

  2. Edite os arquivos localmente.

  3. Faça o upload dos arquivos editados de volta para o servidor via scp / sftp.

Um método alternativo (expandindo algo Warren mencionado , mas isso só funciona se a sua edição puder ser feita dentro de um terminal - sem GUIs permitidas):

  1. ssh para o computador remoto.

  2. corre "tela" , para proteger sua edição contra desconexões.

  3. edite os arquivos com seu editor preferido (vi / m, emacs, nano, qualquer que seja) ou execute ferramentas de linha de comando para processamento de multimídia.

  4. se desconectado, reconecte com o ssh e execute "screen -D -R" para voltar à sua sessão anterior.

quack quixote
fonte
Eu acho que as opções são -d -r para desconectar e reconectar ... mas se você perder o terminal principal, -r é geralmente suficiente, na minha experiência :)
warren
na página do manual: "-D -R Anexe aqui e agora. Em detalhes, isso significa: Se uma sessão estiver em execução, anexe novamente. Se necessário, desconecte-se e faça o logout remotamente primeiro. Se não estiver em execução, crie e notifique o usuário. o favorito do autor. " É um pouco exagerado para a maioria das situações, mas acho que é um bom hábito. Eu também gosto: "-D -RR Anexe aqui e agora. O que quer que isso signifique, apenas faça."
quack quixote