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.
Após realizar login em um servidor via SSH, utilize o comando “ftp” para se conectar ao servidor remoto, usando uma das alternativas abaixo:
ftp ipdoservidor
ftp endereçodohost
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:
root@host [/]# 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:
put arquivolocal arquivoremoto
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:
get arquivoremoto arquivolocal
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.