0 Compartilhamentos 1840 Views 1 Comments

Transferindo arquivos entre servidores Linux via linha de comando com FTP

5 de maio de 2016

O Linux é um sistema operacional bastante versátil. Como sabemos, além disso, ele é amplamente utilizado em servidores web, e geralmente, quem administra tais ambientes, precisa realizar inúmeras tarefas através do SSH (Secure Shell).

A linha de comando, em sistemas Unix, permite que um número enorme de recursos e funções, bem como variações, sejam utilizados, para as mais diversas finalidades.

Transferência de arquivos, por exemplo. Podemos realizar tal procedimento de diversas formas, mas vamos aqui falar a respeito de uma em especial.

Antes, porém, confira alguns artigos relacionados, já publicados aqui mesmo no Código Fonte:

Transferindo arquivos

É extremamente simples transferir arquivos entre um servidor e outro utilizando, por exemplo, o protocolo FTP (“File Transfer Protocol”, ou “Protocolo de Transferência de Arquivos”) através da linha de comando. É possível tanto enviar quanto receber arquivos e pastas, desta maneira, e os procedimentos são bem rápidos.

Download - UploadApós realizar login em um servidor via SSH, utilize o comando “ftp” para se conectar ao servidor remoto, usando uma das alternativas abaixo:

Por exemplo: “ftp 127.0.0.1<ENTER>” ou “ftp host.dominio.tld<ENTER>”.

Logo em seguida, você deverá fornecer os dados de login para a conexão (“Name/User” = Usuário / “Password” = Senha). Confira abaixo:

[email protected] [/]# ftp ipdoservidorremoto
Connected to ipdoservidorremoto (ipdoservidorremoto).
220———- Welcome to Pure-FTPd [privsep] [TLS] ———-
220-You are user number 3 of 50 allowed.
220-Local time is now 13:59. Server port: 21.
220-This is a private system – No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (ipdoservidorremoto:root): usuario
331 User usuario OK. Password required
Password:
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

O usuário e a senha são solicitados de maneira sequencial, e não se preocupe se ao digitar a senha nada aparecer na linha de comando. Continue normalmente e tecle <ENTER> após a inserção da mesma (alguns clientes, como o Bitvise Tunnelier, por exemplo – veja acima – ainda suportam CTRL+C e CTRL+V).

Para a transferência de arquivos, utilizaremos os comandos “get” (para o download / recepção) e “put” (para o envio / upload). Vale lembrar que, após a conexão ao servidor remoto, também podemos utilizar os comandos “cd” (para acessar diretórios) ou “ls”, para listar o conteúdo dos diretórios. O “pwd” também pode ser bastante útil caso você se “perca”.

Confira abaixo:

ftp> ls
227 Entering Passive Mode (ipdoservidorremoto)
150 Accepted data connection
drwxr-x—    3 usuario      99               4096 Sep 18 14:06 .
drwx–x–x    9 usuario      usuario      4096 Sep 18 13:32 ..
drwxr-xr-x    2 usuario      usuario      4096 Sep 18 13:29 cgi-bi
226-Options: -a -l
226 3 matches total
ftp>

Enviando um arquivo via FTP, do servidor local para um remoto

Agora, vamos enviar um arquivo para o servidor remoto. A sintaxe é a seguinte:

Confira:

ftp> put /usertest/Codigofonte.php /public_html/Codigofonte.php
local: /usertest/Codigofonte.php remote: /public_html/Codigofonte.php
227 Entering Passive Mode (ipdoservidorremoto)
150 Accepted data connection
226-File successfully transferred
226 0.012 seconds (measured here), 1.52 Kbytes per second
19 bytes sent in 0.0113 secs (1.69 Kbytes/sec)
ftp>

Ou seja, no exemplo acima, enviamos o arquivo “Codigofonte.php” do diretório “/usertest/”, no servidor local, para o diretório “/public_html/” no servidor remoto.

Baixando um arquivo via FTP, do servidor remoto para o local

Neste caso, a sintaxe é a seguinte:

Confira:

ftp> get /public_html/Codigofonte.php /usertest/Codigofonte.php
local: /usertest/Codigofonte.php remote: /public_html/Codigofonte.php
227 Entering Passive Mode (ipdoservidorremoto)
150 Accepted data connection
226-File successfully transferred
226 0.000 seconds (measured here), 475.68 Kbytes per second
19 bytes received in 2e-05 secs (950.00 Kbytes/sec)
ftp>

No exemplo acima, baixamos o arquivo “Codigofonte.php” do diretório “/public_html/”, no servidor remoto, para o diretório “/usertest/” do servidor local.

Finalizando

E para sair do FTP na linha de comando, basta digitar “quit” e teclar <ENTER>.

Utilizando os comandos “put” e “get”, você pode facilmente realizar transferências de arquivos. Transferências de backups compactados, por exemplo (arquivos .tar.gz, digamos), entre diversos servidores web.

Não se esqueça de observar as sintaxes de cada comando e também os nomes dos arquivos (respeitando maiúsculas e minúsculas ) e seus respectivos locais/pastas/caminhos/paths, conforme suas necessidades, seu ambiente e a utilização.

E fique de olho no Código Fonte para mais dicas como esta.

Carregando...

Você pode se interessar

Sir Clive Sinclair, o homem adiantado no tempo
Artigos
84 visualizações
Artigos
84 visualizações

Sir Clive Sinclair, o homem adiantado no tempo

Carlos L. A. da Silva - 18 de setembro de 2021

O inglês Clive Marles Sinclair nasceu de uma família de engenheiros. Seu avô foi engenheiro, assim como o seu pai. Com um talento natural pela Matemática e um forte interesse em eletrônica, ele se tornaria uma página importante da popularização da computação em diversas partes do mundo, construindo um legado que se perpetuará por anos […]

A cibersegurança por trás das vacinas
Artigos
196 visualizações
Artigos
196 visualizações

A cibersegurança por trás das vacinas

Carlos L. A. da Silva - 7 de setembro de 2021

Vacinas contra o coronavírus contam com aparato sofisticado de cibersegurança que bateu de frente com tentativa de ação de hackers.

Top 25 comandos do Git
Artigos
334 visualizações
Artigos
334 visualizações

Top 25 comandos do Git

Carlos L. A. da Silva - 28 de agosto de 2021

Git é uma mão na roda para source control, mas pode ficar melhor ainda conhecendo os comandos certos.

One Response

Deixe um Comentário

Your email address will not be published.

Mais publicações

Dez anos de Kotlin: origens e futuro
Artigos
389 visualizações
389 visualizações

Dez anos de Kotlin: origens e futuro

Carlos L. A. da Silva - 20 de agosto de 2021
10 jogos que todo programador deveria conhecer
Artigos
704 visualizações
704 visualizações

10 jogos que todo programador deveria conhecer

Carlos L. A. da Silva - 1 de agosto de 2021