Backup Incremental - tar
Publicado por Rodrigo Sozza 14/06/2008
[ Hits: 15.620 ]
Homepage: http://softwarelivre.org/rsozza
Download backup_incremental.txt
Modelo de Backup Incremental que concatena os arquivos em um tar.
#!/bin/bash # # Identificação dos arquivos IDENTIFICA=Backup # Numero de dias do ciclo de backup DIAS=7 # E-mail do administrador ADMIN=admin@exemplo.com.br # A partir de onde ficarão os arquivos PREFIX=/backup # Onde os arquivos de backup e logs ficarão armazenados DIR_DESTINO=/backup/arquivos # Lista de arquivos a não serem backupeados EXCLUDE=$PREFIX/etc/exclude.list # Arquivos temporário do script TEMP=/tmp/.backup.$$ # Arquivos de controle do GNU/Tar INC=$PREFIX/etc/incremental.conf # Formato da data DATA=$(date +%d-%m-%Y-%a) # Arquivo com a lista de diretórios a serem backupeados LISTA=$(cat $PREFIX/etc/list.conf | grep ^\/ | sort | uniq) # Arquivos gerado pelo script para controle de incremento CONFIG=$PREFIX/etc/backup.conf VOLTA=0 if [ ! -e $CONFIG ] ; then touch $CONFIG NUMERO=1 else cp -f $CONFIG $CONFIG.bak LINHAS=$(cat $CONFIG | grep ^[0-9] | wc -l) [ $LINHAS -eq $((DIAS+1)) ] && VOLTA=1 FIRST=$(cat $CONFIG | grep ^[0-9]- | head -1) LAST=$(cat $CONFIG | grep ^[0-9]- | tail -1) OLD=$(echo $LAST | cut -f1 -d"-") OLD=${OLD:-0} BACKUP_OLD=$(echo $FIRST | cut -f1 -d"-") FILE_OLD=$(echo $FIRST | cut -f- -d"-") if [ $OLD -eq $DIAS ] ; then NUMERO=1 mv -f $INC $INC.bak else NUMERO=$((OLD+1)) fi fi DESTINO=$DIR_DESTINO/$IDENTIFICA-$NUMERO-$DATA SEND_MAIL () { sendmail $ADMIN << FIMEMAIL Subject: Backup CL $(date +%d-%m-%Y) Backup realizado no arquivo: $DESTINO.tar.gz FIMEMAIL } df -h > $DESTINO.log tar --totals --ignore-failed-read --exclude-from=$EXCLUDE -zcvg $INC -f $DESTINO.tar.gz $LISTA >> $DESTINO.log 2>&1 df -h >> $DESTINO.log SEND_MAIL $DESTINO.log echo $NUMERO-$DATA >> $CONFIG if [ $VOLTA -eq 1 ] ; then rm -f $DIR_DESTINO/$IDENTIFICA-$FILE_OLD.tar.gz rm -f $DIR_DESTINO/$IDENTIFICA-$FILE_OLD.log sed 1d $CONFIG > $TEMP mv -f $TEMP $CONFIG fi
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - EXCLUINDO USUÁRIO COM USO=0
Enviar mensagens Via Net Send no Linux
Nenhum coment�rio foi encontrado.
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Como gerar um podcast a partir de um livro em PDF
Organizando seus PDF com o Zotero
Erro no realm join [Resolvido]
Um programa para baixar vídeos: Parabolic
Como Definir o Painel Principal em Múltiplos Monitores no Linux Mint
Sempre que vou baixar algum pacote acontece o erro dpkg (7)
como instalo panfrost-dri e o driver panfrost fork , ou panfrost (12)