Como criar uma rotina de Backup? [RESOLVIDO]

13. Re: Como criar uma rotina de Backup? [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 23/04/2012 - 10:33h

de uma lida para tu saber o que é shell script

http://pt.wikipedia.org/wiki/Shell_script


espero que ajude


  


14. Re: Como criar uma rotina de Backup? [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 23/04/2012 - 14:00h

Tem tantos scripts de backup no VOL em artigos e Scripts. Acho que está na hora de alguém criar uma coletânea desta bagaceira em artigo que reúna o máximo destes aplicativos. Me parece ser esta uma das maiores dúvidas recorrentes aqui no forum.



15. Re: Como criar uma rotina de Backup? [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 23/04/2012 - 15:13h

Certa vez precisei fazer um script de backup com vários detalhes.
Eu publiquei aqui no VOL explicando como funciona e quais os 'atalhos' que utilizei para chegar ao resultado esperado: http://www.vivaolinux.com.br/script/Backup-de-varios-servidores-diferenciado-a-rotina-pela-aplicacao

Boa sorte!


16. Re: Como criar uma rotina de Backup? [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 23/04/2012 - 20:23h

alexandregms escreveu:

Certa vez precisei fazer um script de backup com vários detalhes.
Eu publiquei aqui no VOL explicando como funciona e quais os 'atalhos' que utilizei para chegar ao resultado esperado: http://www.vivaolinux.com.br/script/Backup-de-varios-servidores-diferenciado-a-rotina-pela-aplicacao

Boa sorte!


Já adicionei aos meus favoritos ;) É incrível como tem coisas legais que desconhecemos aqui no VOL.

Vou começar a selecionar as coisas legais que achar e adicionando http://www.vivaolinux.com.br/~AprendiNoLinux/favoritos



17. Re: Como criar uma rotina de Backup? [RESOLVIDO]

charles fábio kiefer
xibo

(usa Ubuntu)

Enviado em 24/04/2012 - 11:28h

eu li e continuo perdido...vou tentar esclarece um pouco mais.

1 - eu devo criar um arquivo próprio para fazer o script ou eu tenho que editar algum arquivo pronto?

2 - os arquivos que eu quero compactar estão no /home/pasta, alguém sabe como fazer o script para isso?

3 - como eu faço pra rodar esse script?

obrigado


18. Re: Como criar uma rotina de Backup? [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 24/04/2012 - 12:29h

1 - eu devo criar um arquivo próprio para fazer o script ou eu tenho que editar algum arquivo pronto?
Bom seria bom tu fazer o seu próprio script

2 - os arquivos que eu quero compactar estão no /home/pasta, alguém sabe como fazer o script para isso?
um exemplo


#!bin/bash

tar -zcvf home.tar.gz /home/pasta



mas tem como melhorar

3 - como eu faço pra rodar esse script?

#./nomedoscript





19. Re: Como criar uma rotina de Backup? [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 24/04/2012 - 13:28h

Basicamente o danniel-lara deu o caminho para gerar o seu arquivo compactado como o backup pronto. Agora você vai precisar destinar o local onde vai querer armazenar este backup. Se vai querer dar um novo nome para ele e guardar por 2,3, 7 dias, 1 mês, etc...

Recomendo novamente que veja os scripts que foram sugeridos porque já fazem o que você precisa.
É claro que para você fixar melhor, o ideal seria fazer um mas usando como base o que a galera está sugerindo. ;)

Ou se não for o caso, rsrs, junte-se a esta galera que só gosta de "pescar" peixões....



Seja qual for a sua escolha, irá resolver o problema. ;)

Falando em pescar.... http://vivaolinux.com.br/topico/Shell-Script/script-pppd?pagina=2&num_por_pagina=12


20. Re: Como criar uma rotina de Backup? [RESOLVIDO]

charles fábio kiefer
xibo

(usa Ubuntu)

Enviado em 24/04/2012 - 20:53h

li a materia q o danniel-lara indicou e consegui entender...acho que vou conseguir fazer minha rotina, graças a ajuda d voces, mas depois que eu conseguir vou postar aqui um artigo de como fazer passo-a-passo...para iniciantes mesmo...rssrsrsr
obrigado pela ajuda de voces.


21. Re: Como criar uma rotina de Backup? [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 24/04/2012 - 21:02h

xibo escreveu:

li a materia q o danniel-lara indicou e consegui entender...acho que vou conseguir fazer minha rotina, graças a ajuda d voces, mas depois que eu conseguir vou postar aqui um artigo de como fazer passo-a-passo...para iniciantes mesmo...rssrsrsr
obrigado pela ajuda de voces.


Qualquer duvida estamos ai

Abraço


22. Re: Como criar uma rotina de Backup? [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 24/04/2012 - 21:53h

xibo escreveu:

li a materia q o danniel-lara indicou e consegui entender...acho que vou conseguir fazer minha rotina, graças a ajuda d voces, mas depois que eu conseguir vou postar aqui um artigo de como fazer passo-a-passo...para iniciantes mesmo...rssrsrsr
obrigado pela ajuda de voces.


Faz assim. Vai colocando o que já fez aqui e vamos dando uma força ;)

O ideal é sempre colocar um passo a passo do que VOCÊ quer. Quando como e onde.
Montar o esqueleto de um script bem estruturado ajuda bastante no aprendizado.

Boraaaa







23. Re: Como criar uma rotina de Backup? [RESOLVIDO]

charles fábio kiefer
xibo

(usa Ubuntu)

Enviado em 25/04/2012 - 10:43h

fiz o script e ta dando erro

./scriptbackup.sh: 77: Syntax error: end of file unexpected (expecting "fi")
o nome do arquivo onde esta o script é scriptbackup.sh
a pasta que quero fazer o Backup é a pasta /home/inspetoria
o Backup vai ser guardado na /home/Backup
o arquivo deve se chamar inspetoria.tar.gz
no crontab adicionei essa linha: 00 12 * * 3 /home/scriptbackup.sh
Script:

#!bin/bash
# Script para Backup.
# Funcionamento:
# O script procura por uma pasta "$PASTA_DESTINO", onde serão guardados os
#"tarballs" das pastas compactadas. Nessa pasta ele procura por um arquivo
# chamado "pastas.conf", onde estão armazenados os caminhos completos para
# as pastas a serem "backupeadas".
# Este arquivo tem o seguinte formato:
# /etc
# /var/cache/bind
# Com um caminho completo por linha.
# Para inserir no crontab:
# crontab -e <-- abre o crontab para edição;
# Lá no arquivo, insira a linha:
# 00 23 * * 4 /backup.sh
# que irá executar o programa "/backup.sh", toda(* *) quinta-feira(4) às
# 23 horas
.
# pasta onde serão guardados os "tarballs"
Backup=/home/Backup
# tempo(em numero de dias) que os arquivos ficarão guardados na pasta de backup
TEMPO_LIMITE=20
if [ ! -d $Backup ]; # testa se existe o diretorio "$PASTA_DESTINO"
then
mkdir $Backup #se não existir, cria ele...
echo -n ** "ATENÇÂO: Pasta de backup não existe. Data: " >> /var/log/messages
echo -n `date +%d-%m-%Y` >> /var/log/messages
echo " Pasta "$/home/Backup " criada." >> /var/log/messages
fi
if [ ! -e $Backup/pastas.conf ];
then
echo "** ERRO: arquivo de configuração " $Backup/"pastas.conf, não existe." >> /var/log/messages
echo "** Deve ser criado, com um nome completo de pasta por linha." >> /var/log/messages
exit 1
# pega as linhas do arquivo, uma em cada volta do loop.
while read LINHA
do
# pega o nome da pasta.
inspetoria=`basename $LINHA`
# pega o caminho da pasta.
/home=`dirname $LINHA`

# testa se existe o diretorio a ser copiado
if [ ! -d $/home/$inspetoria ];
then
echo -n "ERRO: diretório" $home/$inspetoria "não existente!" >> $inspetoria/erro.log
echo " Abortando..." >> $inspetoria/erro.log
exit 1
fi
# define nomen do arquivo.
ARQUIVO=$Backup-`date +%Y-%m-%d_%H-%M-%S`-$inspetoria.tar.gz
# testa se jah existe o arquivo da data atual, se existir ele cria um novo backup
# com o horario incluido no nome do arquivo
if [ -e $home/$Backup-`date +%Y-%m-%d`-$inspetoria.tar.gz ];
then
echo -n "ATENÇÂO: Já foi realizado um backup no dia:" >> $Backup/erro.log
echo -n `date +%d-%m-%Y` ",na pasta:" $Backup >> $Backup/erro.log
tar cpzf $/home/backup/$inspetoria $/home/$Backup > /dev/null 2> /dev/null
echo -n ". Backup realizado novamente no horário: " >> $Backup/erro.log
echo `date +%H:%M:%S` >> $Backup/erro.log
else
tar cpzf $/home/$Backup-`date +%Y-%m-%d`-$inspetoria.tar.gz $/home/$Backup > /dev/null 2> /dev/null
fi
# escreve no arquivo de log($PASTA_DESTINO/backups.log)
echo -n "*** Backup realizado da pasta " $Backup >> $Backup/backups.log
echo -n " no dia: "`date +%d-%m-%Y`", no horário: " >> $Backup/backups.log
echo -n `date +%H:%M:%S`", no host: " $inspetoria "***" >> $Backup/backups.log
echo "" >> $backup/backups.log
done < $Backup/pastas.conf
# guarda em $DELETADOS os nomes dos arquivos que não foram alterados há mais de $TEMPO_LIMITE dias e q contenham a extensao .tar.gz
DELETADOS=`find $Backup/ -atime +$20 | grep .tar.gz`
rm -f $DELETADOS
echo "Foram deletados os seguintes arquivos: " >> $Backup/removed.log
echo $DELETADOS >> $Backup/removed.log

Alguém pode me ajudar a descobrir o erro??


24. Re: Como criar uma rotina de Backup? [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 25/04/2012 - 11:00h

Vamos por partes:

Aqui você inicializa a variável pública Backup

 Backup=/home/Backup  


Deve também inicializar a variável para o /var/log/messages , assim podemos testar em paralelo de forma controlada.

 Log_Messages="/var/log/messages"  


É interessante testar se o dito diretório / arquivo poderá ser gravado.
Vou alterar estas linhas ok ?

ps: Detalhe. Antes de colocar ele para rodar no cron, vamos testar ele na linha de comando e quando estiver tudo certinho aí pode coloca-lo para ser chamado. Neste momento é necessário desativar todas as linhas que serão ecoadas na tela.











Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts