Montando um host FTP em um diretório local

Publicado por Uilian Anderson Gurjon em 02/12/2009

[ Hits: 19.105 ]

Blog: http://uiliangurjon.blogspot.com

 


Montando um host FTP em um diretório local



Em um de meus projetos de backup utilizando o Bacula, surgiu a necessidade de enviar os arquivos para um servidor remoto. Para tanto a forma mais fácil que encontrei foi o ftp, mas não encontrei nenhum documento onde fosse possível a gerência de espaço e reciclagem dos dados pelo Bacula e um servidor ftp.

Pesquisando no Google encontrei o curlftpfs, com ele é possível montar um servidor ftp em um diretório local, onde é possível a interação com o ftp como se estivéssemos trabalhando com um diretório local qualquer. Neste caso pude configurar o Bacula para acessar o diretório e efetuar toda a gerência do conteúdo como se estivesse gerenciando um diretório qualquer.

Ambiente:
  • Sistema operacional: Debian Lenny 5
  • Kernel: 2.6.26-2-686

Instalando os pacotes necessários:

# aptitude install curlftpfs

Ponto de montagem, onde este será um diretório a sua escolha:

# mkdir /mnt/ftp_backup

Montando o servidor:

# curlftpfs -o allow_other ftp://seu_usuario:sua_senha@ftp.seu_ftp.com.br /mnt/ftp_backup/
  • seu_usuário -> substituir pelo seu usuário
  • sua_senha -> substituir pela sua senha
  • seu_ftp -> substituir pelo endereço de seu servidor ftp

Testando

Basta acessar o diretório e criar as pastas ou copiar os arquivos. Para garantir que tudo ocorreu corretamente, basta utilizar um cliente ftp de sua preferência e localizar os arquivos copiados ou as pastas criadas:

# cd /mnt/ftp_backup
# mkdir teste


Desmontando:

# umount /mnt/ftp_backup

Montando automaticamente:

# echo "curlftpfs#seu_usuario:sua_senha@ftp.seu_ftp.com.br /mnt/ftp_backup fuse rw,allow_other,uid=0,gid=0 0 0" >> /etc/fstab

Onde:
  • seu_usuário -> substituir pelo seu usuário
  • sua_senha -> substituir pela sua senha
  • seu_ftp -> substituir pelo endereço de seu servidor ftp

Após a edição do arquivo /etc/fstab, edite o arquivo /etc/rc.local e adicione o comando "mount /mnt/ftp_backup" (sem aspas) antes da linha exit 0.

Para esconder o usuário e a senha, crie o arquivo /root/.netrc e adicione as linhas a seguir:

machine ftp.seu_ftp.com.br
login seu_usuário
password sua_senha

Adicione o direito de execução ao script:

# chmod +x /root/.netrc

Altere o fstab:

curlftpfs#ftp.seu_ftp.com.br /mnt/ftp_backup fuse rw,allow_other,uid=0,gid=0 0 0

Pronto!

Outras dicas deste autor

GParted adicionando recursos para formação em FAT16/32

Automatix2 em Debian Etch 4.0r1

Open livro de PHP

Resolvendo as dependências do DBDesigner 4 no Mandriva

Rádio UOL e Terra TV no FireFox/Iceweasel

Leitura recomendada

Instalar OpenSSH no Debian Squeeze

Pure-FTPd no Slackware 14.0

Check FTP - Escaneie e encontre FTPs acessívels pela rede

Proftpd em modo passivo com no-ip

ProFTPd: Login lento + prendendo usuário no home

  

Comentários
[1] Comentário enviado por bsampaiosilva em 07/02/2011 - 15:18h

Amigo no aDrive.com o usuario que é me fornecido é meu e-mail cadastrado, exemplo bruno@bruno.com.br

E quando tento assim

curlftpfs -o allow_other ftp://bruno@bruno.com.br:minha_senha@ftp.adrive.com /ftp/ me dá o seguinte erro:

Error connecting to ftp: Couldn't resolve host 'bruno.com.br:minha_senha@ftp.adrive.com'

Você saberia me dizer como faço para isolar o @ de meu usuario?

Já entrei em contato com o suporte do aDrive e me disseram que não poderiam tirar o @

Desde já obrigado

[2] Comentário enviado por mordp em 18/01/2012 - 16:27h

Vlw heim cara! Ajudo eu! tava precisando!

OBS: No slackware é só baixar o pacote, da um ./configure , make , make install e o resto é igual a que vc posto!

Obrigado!

[3] Comentário enviado por gil_dev em 09/05/2019 - 14:08h

Para os que os próximos que visualizarem esse artigo
Para isolar o @ use %40:
Exemplo:
gil.r@oi:Solda@@meudomino.com => gil.r%40oi:Solda%40@meudomino.com



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts