Pequena solução para backup em redes mistas

gnu

Este pequeno artigo descreve como senti na pele as limitações de um servidor Windows 2000 em tarefas simples e como fiz para superá-las com a ajuda do Linux.

[ Hits: 56.833 ]

Por: Sidney Alexandre Pagel em 30/09/2005


Explicando o Shell Script



O shell script é bastante simples, mas mesmo assim explicarei seu conteúdo.

Na segunda linha crio a variável "diret" com o conteúdo /home/ftp. Você pode alterar para o diretório padrão de seu servidor FTP.

A terceira linha redireciona o comando "date" para dentro de um arquivo chamado "name", dentro de /home/ftp. No entanto, a saída do comando sofre as seguintes modificações: os espaços em branco são substituídos por underlines e os ":" (dois pontos) são substituídos pela letra "e". Isso ocorre porque se deixarmos os espaços em branco, o Linux entenderá o nome que queremos dar (algo parecido com Fri May 27 12:30:01 BRT 2005) como se estivéssemos querendo mover o arquivo contido dentro da pasta para vários diretórios diferentes (mv = mover ou renomear) e não executará a ação. A substituição dos ":" é necessária por causa do Windows, pois caracteres dessa natureza não são aceitos em nomes de arquivos nesses sistemas.

O comando sed realiza essas modificações fazendo a leitura do arquivo /sbin/regul.sed, que tem o seguinte conteúdo:

s/ /_/g
s/:/e/g

A quarta linha realiza o comando "find" dentro do diretório /home/ftp, localizando o arquivo gerado pelo Windows e gravando o resultado da busca no arquivo /home/ftp/result.

A quinta linha cria a variável "finded", com o conteúdo do arquivo result.

A sexta linha afirma que se o conteúdo da variável finded for igual a /home/ftp/nomedoarquivoenviadopelowindows, será executada a sétima linha, que cria a variável realname, com o conteúdo do arquivo name (que por sua vez possui a saída do comando date, modificado pelo comando sed).

A oitava linha executa o comando zip, zipando o arquivo enviado pelo Windows e criando um arquivo cujo nome possui formato $realname.zip (algo como Fri_May_27_12e30e01_BRT_2005.zip).

Na nona linha, temos um "senão" (else). Ou seja, se o conteúdo da variável $finded não for exatamente igual a /home/ftp/nomedoarquivoenviadopelowindows, a décima linha será executada, enviando um e-mail para gnu@veracruz.pr.gov.br, avisando que o backup deu errado (pelo amor de Deus, quem for usar esse script, altere o endereço, ou minha caixa de entrada vai estourar :) ). Esse ponto do script pode ser modificado de várias maneiras, tais como apenas criar um arquivo de log (echo o backup falhou > $diret/log), caso você não tenha um servidor de e-mail rodando.

A décima-primeira linha finaliza o bloco de instruções, enquanto as linhas restantes destinam-se a apagar os arquivos desnecessários de dentro do diretório /home/ftp.

Muito bem, impasse resolvido (moleza pro Linux, impossibilidade para o Windows).

Página anterior     Próxima página

Páginas do artigo
   1. O início
   2. O arquivo .bat
   3. Limitações restantes
   4. O problema do login anônimo
   5. Finalmente, Shell Script!
   6. Explicando o Shell Script
   7. Apagando o desnecessário
   8. Concluindo
Outros artigos deste autor

O software livre na administração pública

Jogando pesado na segurança de seu SSH

Integrando Nagios com Asterisk

Configurando um domínio pelo serviço ipturbo empresarial (Brasil Telecom)

Mais sobre terminais leves....

Leitura recomendada

Bonding para Heartbeat + Bonding para DRBD + OCFS2 + Debian Squeeze

Técnicas de memorização para facilitar o uso VI (Comandos básicos)

Como submeter dados de CDDB de um CD de áudio ao Freedb

Organizando as idéias

Filosofia do Open Source, um novo jogo?

  
Comentários
[1] Comentário enviado por sleck em 30/09/2005 - 13:01h

Ola, não desmerecendo nunhum pouco seu artigo, achei bem legal mesmo, só para ajudar a quem utiliza o windows, estou testando aqui uma programa de backup chamado Cobian Backup, free (melhor ainda) baixei no superdownloads, nas minhas tarefas ele funciona blz, faz copia para ftp tbm, vale apena testar este programa para tarefas de backup ..

era isso






[2] Comentário enviado por delete em 30/09/2005 - 17:36h

vc nao precisa conectar usando login anonimo ... vc poderia especificar o usuario no comandos.txt usando da seguinte forma
primeira linha do comandos.txt vc botaria:
user USUARIO SENHA
depois seguiria com o resto...
passei pelo mesmo sei problema... hehehe
abracos!

[3] Comentário enviado por gnu em 01/10/2005 - 00:49h

valeu mesmo povo.. A dica do companheiro Delete eu vi posteriormente (esse artigo foi republicado, devido aos prob técnicos que o site encontrou). A dica do sleck me parece muito boa mesmo para usuários iniciantes. É assim que evoluímos! Seja livre, use linux!

[4] Comentário enviado por sombriks em 01/10/2005 - 02:59h

Nah, muito mais estilo o trabalho braçal q tu teve pra fazer funcionar. É como um filho, né não?

[5] Comentário enviado por gnu em 04/10/2005 - 15:04h

Pior que é mesmo. Atualmente, o script encontra-se muito mais desenvolvido, usando mailm para enviar os e-mails, e entraram mais alguns bancos no backup.. realmente ficou bastante confiável...

[6] Comentário enviado por carlos.oliveira em 11/06/2009 - 21:51h

Oi, pessoal. Já utilizo o Cobian há bastante tempo. Ele é Show. Agora, instalei no LINUX, pelo WINE, e funciona 100%.
Tenho vários trabalhos de backup rodando nele, que varre as máquinas de usuários, nas pastas determinadas, e faz backup incremental (somente arquivos alterados desde o último backup) para as pastas-clone num servidor de backup e também sobe os arquivos críticos via FTP para um servidor remoto. Não tem terror. É 100% funcional... Carlos Oliveira www.divulgacao.com.br

[7] Comentário enviado por djobix em 29/11/2009 - 21:41h

Muito bom e em linux seu método! no win existem muitas alternativas que são muito mais "fáceis" o Cobian, que foi citado , é uma das ótimas alternativas principalmente se outras pessoas precisarem modificar ou acessar algo... vc pode compactar arquivos e enviar é um programa muito bom.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts