shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Backup compactado


From: Flavio Junior
Subject: Re: [shell-script] Backup compactado
Date: Tue, 17 Feb 2009 14:53:25 -0300

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Pra não fazer um offtopic, vou por mais shell nisso aqui:

Primeiro, pra facilitar tua vida com o redirecionamento pro log, tu
pode usar o "exec" com fd's:

######### Inicio do script abaixo ########

#!/bin/bash
# Definindo variaveis
LOGDIR=/logs
DT="$(date -I)"
LOGFILE="$LOGDIR/$DT_log"
STATUS=0

# Redirecionando FD's
exec 3>$LOGFILE
exec 2>>$LOGFILE

# Inicio do script
echo "$(date) - Iniciando"
mkdir -p $DT
tar -cjvvf ${DT}/dados.tar.bz2 /samba/dados
let $STATUS+=$?
echo "Status Atual = $STATUS : 0 = OK ate aqui"
tar -cjvvf ${DT}/faturamento.tar.bz2 /samba/faturamento
let $STATUS+=$?
[...]

# Esse 777 não faz mto sentido.. mas vamos lá
chmod 755 $DT
chmod 644 $DT/*

if [ $STATUS -ne 0 ]; then
  echo "Houve um problema durante a geracao do Backup, confira o
Status no Log." | mail -s "Backup $(date)" address@hidden
fi

# Recuperando os FD's
exec 1<&3
exec 2<&4

# FIM DO SCRIPT

Com o comando do tar que passei, o "j" trata de compactar com o bzip2
ao mesmo tempo que cria o .tar e o "vv" (v v = 2 v's) é mais "verbose"
e exibe no log o owner, grupo e tamanho dos arquivos que foram pro
backup.

Quanto a mensagem:
 tar: Removing leading `/' from member names

É normal do tar e não se preocupe com ela. Ela só esta notificando que
o arquivo .tar será gerado sem o caminho absoluto (ou seja: inves de
/samba/dados vai ser samba/dados.) Isso permite que tu recupere o .tar
em qualquer lugar e não sobrescreva o teu original.

Eu tentaria fazer um unico comando tar e usaria o --exclude dele pra
tirar o que não quero do backup, se houver algo que não quero no
/samba/*. Mas da forma que está fazendo agiliza uma recuperação
parcial, eu concordo.

Espero ter ajudado.

- --

Flávio do Carmo Júnior aka waKKu
#bash-br @ irc.freenode.net

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: http://getfiregpg.org

iEYEARECAAYFAkma+XUACgkQgyuXjr6dyksE+wCgylW202hO3u/wMtNUWvgs8eYS
1tYAnR7Am8vv+bcJyMWVNv7gT1maGnz2
=je3b
-----END PGP SIGNATURE-----

2009/2/17 bruno damada <address@hidden>:
> Faço um backup assim ->
>
> DT=`date '+%Y%m%d'`
> HORA=`date +%H:%M`
>
> echo "$HORA - Iniciando" >> "$DT"_log.txt
> mkdir "$DT"
> tar -cf ./"$DT"/dados.tar /samba/dados >> "$DT"_log.txt
> tar -cf ./"$DT"/faturamento.tar /samba/faturamento >> "$DT"_log.txt
> tar -cf ./"$DT"/marketing.tar /samba/marketing >> "$DT"_log.txt
> tar -cf ./"$DT"/qualidade.tar /samba/qualidade >> "$DT"_log.txt
> tar -cf ./"$DT"/sistemas.tar /samba/sistemas >> "$DT"_log.txt
> tar -cf ./"$DT"/comercial.tar /samba/comercial >> "$DT"_log.txt
> tar -cf ./"$DT"/financeiro.tar /samba/financeiro >> "$DT"_log.txt
> tar -cf ./"$DT"/manutencao.tar /samba/manutencao >> "$DT"_log.txt
> tar -cf ./"$DT"/rh.tar /samba/rh >> "$DT"_log.txt
> tar -cf ./"$DT"/ti.tar /samba/ti >> "$DT"_log.txt
>
> echo "Compactando para BZIP2" >> "$DT"_log.txt
>
> bzip2 ./"$DT"/dados.tar >> "$DT"_log.txt
> bzip2 ./"$DT"/faturamento.tar >> "$DT"_log.txt
> bzip2 ./"$DT"/marketing.tar >> "$DT"_log.txt
> bzip2 ./"$DT"/qualidade.tar >> "$DT"_log.txt
> bzip2 ./"$DT"/sistemas.tar >> "$DT"_log.txt
> bzip2 ./"$DT"/comercial.tar >> "$DT"_log.txt
> bzip2 ./"$DT"/financeiro.tar >> "$DT"_log.txt
> bzip2 ./"$DT"/manutencao.tar >> "$DT"_log.txt
> bzip2 ./"$DT"/rh.tar >> "$DT"_log.txt
> bzip2 ./"$DT"/ti.tar >> "$DT"_log.txt
>
> chmod -R 777 *
>
> echo "$HORA - Finalizado" >> "$DT"_log.txt
>
> Só que fica mostrando a seguinte mensagem
>
> tar: Removing leading `/' from member names
>
> Alguem sabe o que é ???
>
> Saberiam me dizer uma forma mais pro de fazer backup?
> Com o log tendo o tamanho de cada arquivo e se foi feito com sucesso e tal?
>
> Obrigado,
>
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]