Questão Como faço para copiar dados de um servidor Ubuntu usando terminal por telnet?


Eu tenho uma pasta para copiar que consiste em PHP e arquivos semelhantes para criar um site.

Como faço para copiar uma pasta do servidor (Linux Ubuntu) para o PC cliente (Linux Ubuntu) usando o terminal? Eu poderia usar ftp? Para a conexão do terminal, estou usando o Telnet.

A localização da pasta no servidor:

qa@ubuntu:~/www/html/js 

E eu quero copiá-lo para o cliente em:

qa@desktop2:~/home/qa/html

4


origem




Respostas:


Você pode usar o scp se tiver um servidor ssh rodando na máquina remota (é bom ter mesmo assim). Telnet não é bom, é descriptografado e incômodo.

Desde que eu suponho que você pode ssh na máquina remota, a maneira básica de usar o scp é:

scp -r ~/www/html/js qa@desktop2:~/home/qa/html/js

Supondo que você deseja copiar de qa@ubuntu:~/www/html/js para qa@desktop2:~/home/qa/html/js scp é bem poderoso, então eu sugiro ler a man page para ele em

man scp

5



A sintaxe correta é user@host:path, não  user@host/~/path. Se eu entendi corretamente, seu exemplo deve ser scp qa@ubuntu:www/html/js qa@desktop2:home/qa/html (embora não esteja claro se o @klox queria ~/home/qa/html ou ~/html). - grawity
Opa, desculpe, meu mal. Obrigado pela correção. - Aatch


Editar: Você terá problemas para copiar arquivos via telnet meu amigo. Por que você insiste em usar um terminal?

Significa que você está executando o Windows, portanto, presumivelmente, tenha acesso a um ambiente gráfico. Então, usar o compartilhamento de arquivos do Windows / um navegador da Web / cliente FTP / cliente ssh / etc será descartado porque eles são gráficos? E se sim, porque?

Você tem acesso root na máquina Ubuntu? Eu sugiro que você instale um servidor ssh:

sudo apt-get install openssh-server

Em seguida, pegue um cliente windows SSH / SCP, por exemplo. WinSCP e use-o para efetuar login no servidor e copiar seus arquivos.

Ou se você realmente quiser fazer isso através do terminal por algum motivo, pegue o Cygwin e instale o programa, então use o comando 'scp' mencionado abaixo.

Você precisa ser um pouco mais específico sobre sua situação.

  • qual sistema operacional o cliente está executando?
  • qual sistema operacional o servidor está executando?
  • quais serviços o servidor está executando, se você sabe (FTP, HTTP, NFS, SMB, SSH, etc)

Por exemplo, se você tiver acesso SSH ao servidor, algo assim funcionaria:

scp user@server.mydomain.com:/remote/path/file.txt /local/path/

Se você tiver acesso HTTP ao arquivo (http://server.mydomain.com/path/file.txt) então, como o cartaz acima sugeriu, wget:

wget http://server.mydomain.com/path/file.txt

A resposta depende muito da sua situação.


4



olha a minha pergunta editada .. - klox
a localização da pasta no servidor: qa @ ubuntu: ~ / www / html / js e eu quero copiar no cliente: qa @ desktop2: ~ / home / qa / html - klox


Se você está usando o Windows para isso, e você realmente não pode usar HTTP de qualquer maneira para obter o arquivo, você pode recorrer à transferência de arquivos da velha escola através de protocolos ASCII de 7 bits. Eu estou falando sobre o Z-Modem. Foi a última vez que vi uso principal na internet discada, especificamente no mundo do BBS, com uma linha lateral em transferências unix-para-unix quando o FTP não estava disponível (geralmente sobre rsh, mas estou divagando).

De qualquer forma, para obter essa árvore de diretórios do Windows, sem usar FTP ou HTTP, apenas terminal.

  1. Telnet para o servidor usando o HyperTerm.
  2. Tar / Zip up os diretórios que você está interessado.
  3. Na linha de comando,
    sz filename.tar.gz 
  4. No Hyperterm, selecione Transferir -> Receber arquivo.
  5. Especifique seu caminho de salvamento e "Zmodem" como o protocolo de recebimento.

Ele não será transferido tão rápido quanto FTP ou HTTP, mas obterá arquivos.


1



como se eu quiser transferir com o mesmo sistema operacional Linux para linux ..? - klox


Se o ssh / scp não estiver disponível, tente o netcat.

http://nakkaya.com/2009/04/15/using-netcat-for-file-transfers/

O Netcat é basicamente um simples arquivo despejado em uma porta de rede. É útil para transferir para um host barebone quando o ssh não está disponível, ou para transferir arquivos muito grandes pela LAN / Internet, onde a sobrecarga da criptografia SSH se torna um gargalo.

Dito isto, scp ainda é a maneira padrão de transferir arquivos de hosts remotos. E se você está tentando transferir um diretório inteiro, é melhor usar o rsync sobre o ssh:

rsync -avz -e ssh qa@ubuntu:~/www/html/js  ~/home/qa/html

Scp atravessa o diretório conforme é transferido, pode ser muito lento com pastas grandes. O rsync percorre todo o diretório e aplica a compactação gzip antes do início da transferência. Se existir uma cópia local, o rsync com compare os dois e transfira apenas o delta: a parte alterada dos arquivos.

E uma correção adicionada para a sugestão scp anterior: scp um diretório inteiro requer a opção -r:

scp -r qa@ubuntu:~/www/html/js  ~/home/qa/html

1





Depende de como o arquivo é servido. Se o arquivo puder ser baixado de um navegador da Web, o comando "wget" funcionará: http://linux.die.net/man/1/wget


0