My Portfolio & not so personal Blog

Espelho, espelho meu! Criando um espelho de um diretório online

Volta e meia precisamos enviar um arquivo ( ou vários ) maior do que o nosso email deixa anexar. Nesses caso uma das soluções é disponibilizar este arquivo num FTP, funciona e funciona bem. Agora imagine pedir p/ alguém que nunca ouviu falar em FTP pra subir este arquivo … Vai ser uma confusão.

Se você não pode para sempre que isso é necessário e nem tem alguém por perto que possa enviar isso por FTP pra você(s) eis aqui uma outra possivel solução.

Criar um espelho online de um diretório local

Outro dia passei novamente pela situação  acima, então fui atrás de uma forma de resolver isso sem muitas dores de cabeça. Eis que achei a seguinte idéia:  Ter no meu servidor de arquivos local um diretório que espelha seu conteúdo online. Ou seja, tudo que existir neste diretório local será replicado online.

É bem mais simples dizer para as pessoas colocarem o/os arquivo(s) em determinado diretório pela rede, né ?

Então a nível de exemplo montaremos a seguinte estrutura:

  • No meu servidor de arquivos locais, chamado aqui Servidor-Arquivos terei o diretorio espelho.meudominio.com
  • No meu servidor Web terei o subdominio espelho.meudominio.com apontando para /subdomains/espelho

Com essa estrutura pronta, basta fazer um novo script shell que tratará de replicar este servidor local online, se um arquivo for apagado do servidor local, também será apagado online ;)

 

Se você não tem o lftp instalado em sua máquina, em distribuições Debian like, você pode instalar com o mágico apt-get

sudo apt-get install lftp

nosso espelho.sh

#!/bin/bash

lftp -u USUARIO,SENHA -e "mirror --delete --reverse /var/www/espelho.meudominio.com/ /subdomains/ && bye" ftp.YOUSERVER

Lembre de substituir:

  • USUARIO por seu usuario FTP;
  • SENHA pela sua senha FTP ;
  • /var/www/espelho.meudominio.com pelo caminho do seu diretorio que será replicado;
  • /subdomains/ pelo diretório no servidor web q terá o espelho do seu diretório local;
  • YOURSERVER pelo endereço FTP do seu servidor web

Depois é só dar permissão de execução ao script

chmod +x espelho.sh

E executá-lo sempre que precisar sincronizar

./espelho.sh

No meu caso, eu coloquei no cron do server, para fazer a execução desse script de hora em hora, se houver necessidade de executá-lo antes disso eu logo lá e taco fogo nele!

É claro que aqui temos nomeclaturas de exemplo, o ideal é que vc use as que mais se adequem ao seu cenário.

Para saber sobre mais parametros que o lftp aceita recomendo a visita deste link:

http://lftp.yar.ru/lftp-man.html

Espero que sirva para alguém assim como serviu para mim!

[]s

2 comentários para Espelho, espelho meu! Criando um espelho de um diretório online

  1. Alexsandro

    Alexsandro 27/10/2011 11:08 am Comentar

    serviu pra mim

  2. madeinnordeste

    madeinnordeste 02/11/2011 2:04 pm Comentar

    @Alexsandro, bom saber :D

    []s

Quer dizer algo?