FTP pela linha de comandos avançado LFTP
Um programa para Linux que nos permite fazer FTP pela linha de comandos mais potente que o tradicional, como copiar diretórios inteiro (fazer um mirror).Por Miguel Angel Alvarez - Tradução de JML
Publicado em: 15/10/07
Possivelmente já saibamos que para fazer FTP, além de usar algum dos programas como Filezilla ou Cute FTP, podemos utilizar a linha de comandos. A linha de comandos em geral qualquer sistema operacional a tem e é um pouco mais complicada de trabalhar do que as janelas, mas às vezes não há outra coisa. Por exemplo, é muito possível que tente fazer FTP em um servidor ao que você acessa por telnet e só tem a linha de comandos para trabalhar.
O problema da linha de comandos é que não permite realizar algumas ações úteis, como transferir ou baixar um diretório inteiro, com todos seus subdiretórios e seus conteúdos. É algo assim como uma opção de get ou put que seja recursivo e que se encarregue de percorrer todos os diretórios baixando os dados que contenham.
O comando que vamos ver se chama LFTP e serve para realizar um FTP mais avançado. Teoricamente muito útil quando se deseja fazer um mirror de todo um web site para baixá-lo ou transferi-lo.
O comando lftp na verdade é um programa que costuma vir instalado em todos os Linux, portanto o mais certo é que o tenhamos instalado em nosso servidor.
Para obter ajuda com lftp basta escrever:
lftp -help
Isto nos oferecerá dados sobre as diferentes opções do programa. Para conectarmos com um servidor de FTP escreveríamos isto:
lftp -u usuario,chave ftp.dominio.com
Uma vez dentro de lftp, o que estamos vendo é o servidor remoto. Apareceremos no diretório raíz do serviço de FTP. Aparecerá um prompt como este, onde indica o usuário e o servidor ao que estamos conectados:
lftp usuario@ftp.dominio.com:~>
Podemos fazer um ls -l para saber a informação do diretório.
lftp usuario@ftp.dominio.com:~> ls -l
Também podemos obter ajuda com o comando help:
lftp usuario@ftp.dominio.com:~> help
Isto nos dará uma lista dos comandos disponíveis em lftp. Entre eles, temos o comando mirror, que vamos comentar a seguir. Se quisermos obter ajuda de um comando em concreto, podemos escrever help, seguido do comando que quisermos conhecer.
lftp usuario@ftp.dominio.com:~> help mirror
Isto nos dará a maneira de usar e as opções do comando que nos interessava. Teoricamente, para fazer um mirror se tem que dizer o diretório local onde deseja copiar e o diretório remoto que quiser copiar dentro do local.
Para usar o comando mirror devemos escrever primeiro o diretório local que queremos copiar e logo, o diretório de remoto onde o desejamos copiar.
mirror local remoto
Há que ter em conta que quando estamos dentro de ftp, o computador local é o computador o qual você está conectado por lftp e o remoto é o que você se conectou originariamente por telnet. Vejamos outro exemplo de sentença:
Mirror docs html
Estamos dizendo que copie o diretório que se chama docs do servidor que você estiver conectado por FTP, ao diretório html do servidor sobre o que estava fazendo telnet. Se o diretório html não existir, se cria.
mirror . .
Se colocarmos isto (os dois diretórios) estaremos dizendo que o copie tudo de local a remoto.
Comentários do artigo