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
-
Alexsandro 27/10/2011 11:08 am Comentar
serviu pra mim
-
madeinnordeste 02/11/2011 2:04 pm Comentar
@Alexsandro, bom saber
[]s
Luiz Alberto, mais conhecido como Beto. Analista de Sistemas, Alagoano. Co-fundador da EQS1M. Vídeo-Game, Coxinha, Desenhos, Guitar-Hero, Desenvolvimento WEB. Quer saber mais? Eu também! Mas, uma certeza eu tenho:Eu Quero Ser um Macaco!