+ Responder ao Tópico



  1. #1
    replicante
    Visitante

    Padrão Backup Diferencial.

    Olá!

    Alguém aqui faz backup diferencial com o TAR?
    Tem alguma receita de bolo para passar?
    rsrs...

    Abraço,
    Valeu

  2. #2
    grmuniz
    Visitante

    Padrão backup - incremental

    Eu sei q vc falou em backup diferencial, nesse link estão tratando de backup diferencial naum sei se te ajuda, da uma olhada...

    https://under-linux.org/modules.php?...wtopic&t=31248

  3. #3
    rzlrogerio
    Visitante

    Padrão Backup diferencial - para estudos.

    BLZ
    ###
    ##
    ##
    ##
    ##################################
    #!/bin/sh

    # Script de backup para arquivos - estudo
    # Author: Rogerio de Araujo Rodrigues
    # Dt: 25/04/2005
    # Alteracao: 11/08/2005
    # Author: Rogerio de Araujo Rodrigues
    # [email protected]

    Dt=`date +%d-%m-%Y-%H-%M`

    DtDir=`date +%d-%m-%Y`

    DirMont=`cat /etc/fstab | grep montados | awk '{ print $2 }'`


    echo "Verificando os arquivos mais antigos para liberar espacos em disco para a gravacao de backup." >> /var/log/backup/backup-$Dt.log
    echo "Estes são os arquivos...:" >> /var/log/backup/backup-$Dt.log
    FilesDirAntgs=`ls -t /backup/COMPACTADOS | tail -n 24`
    echo " " >> /var/log/backup/backup-$Dt.log
    echo " " >> /var/log/backup/backup-$Dt.log
    echo $FilesDirAntgs >> /var/log/backup/backup-$Dt.log
    echo " " >> /var/log/backup/backup-$Dt.log
    echo " " >> /var/log/backup/backup-$Dt.log
    echo "Apagando os arquivos mais antigos. Sao os 24 mais antigos." >> /var/log/ba ckup/backup-$Dt.log
    echo "Caso for incluir mais diretorios no backup, some mais um na busca na linha acima com tail -n 24." >> /var/log/backup/backup-$Dt.log

    cd /backup/COMPACTADOS

    OndEstou=`pwd`

    if [ $OndEstou == /backup/COMPACTADOS ]
    then
    echo "Diretorio correto foi encontrado apagando os arquivos..." >> /var/l og/backup/backup-$Dt.log
    # rm -rf $FilesDirAntgs 1> /var/log/backup/backup-$Dt.log 2> /var/log/back up/backup-$Dt.log
    else
    echo "Nao estou no diretorio certo estou abortando e nao vou apagar os ar quivos - Verifique!!!" | mail -s "Erro no backup em disco -Verifique!!!" [email protected]
    echo "Nao estou no diretorio certo estou abortando e nao vou apagar os ar quivos - Verifique!!!" >> /var/log/backup/backup-$Dt.log
    fi

    for MontOk in `echo $DirMont`
    do
    df $MontOk > /dev/null
    result=`echo $?`

    if [ $result == 0 ]
    then
    echo "$Dt Compatilhamento $MontOk Montado com sucesso" >> /var/log /backup/backup-$Dt.log
    else
    echo "$Dt - Problema com o compartilhamento $MontOk em /montados - Verifique!!!" | mail -s "Problema com Backup" [email protected]
    echo "$Dt - Problema com o compartilhamento $MontOk em /montados - Verifique!!!" >> /var/log/backup/backup-$Dt.log
    echo "Tentando montar o diretorio $MontOk em /montados!!!" >> /var/ log/backup/backup-$Dt.log

    mount /montados/$MontOk
    resulttent=`echo $?`

    if [ $resulttent == 0 ]
    then
    echo "Tentativa de montagem do diretorio $MontOk executada c om sucesso!!!" >> /var/log/backup/backup-$Dt.log
    else
    echo "Tentativa de montagem do diretorio $MontOk com falha!! !" | mail -s "Problema com Backup" [email protected]
    echo "Tentativa de montagem do diretorio $MontOk com falha!! !" >> /var/log/backup/backup-$Dt.log
    fi
    fi
    done

    rsync -carlpt --exclude-from=/usr/local/bin/forarsync.txt /montados/* /backup/
    resultrsync=`echo $?`
    echo $resultrsync > /tmp/saidarsync.txt

    if [ $resultrsync == 0 ]
    then
    echo "$Dt - Sincronizacao dos arquivos efetuada com sucesso!!!" >> /v ar/log/backup/backup-$Dt.log
    else
    echo "$Dt - Problema com sincronizacao dos arquivos compartilhados - Verifique!!!" | mail -s "Problema com Rsync" [email protected]
    echo "$Dt - Problema com sincronizacao dos arquivos compartilhados - Verifique!!!" >> /var/log/backup/backup-$Dt.log
    fi


    echo "Criando o diretorio da data atual para a gravacao dos backups compactados" >> /var/log/backup/backup-$Dt.log
    mkdir /backup/COMPACTADOS/$DtDir
    resultmkdir=`echo $?`

    if [ $resultmkdir == 0 ]
    then
    echo "$Dt - Criacao do diretorio com a data para a gravacao do backup criada com sucesso!!!" >> /var/log/backup/backup-$Dt.log
    else
    echo "$Dt - Erro para criar o diretorio com a data para a gravacao do backup - Verifique!!!" | mail -s "Erro no backup em disco" [email protected]
    echo "$Dt - Erro para criar o diretorio com a data para a gravacao do backup - Verifique!!!" >> /var/log/backup/backup-$Dt.log
    fi

    for Backs in `ls /backup | grep -v BackupRodosis | grep -v BackupAutotrac | grep -v Omnilink | grep -v SpoSat01 | grep -v SpoSat01 | grep -v ex-colabs | grep -v lost+found | grep -v Backup-Linux | grep -v COMPACTADOS`
    do
    tar zcpf /backup/COMPACTADOS/$DtDir/$Backs-$Dt.tar.gz /backup/$Backs
    resulttar=`echo $?`

    if [ $resulttar == 0 ]
    then
    echo "$Dt - Compactacao do diretorio $Backs executada com sucesso!! !" >> /var/log/backup/backup-$Dt.log
    else
    echo "$Dt - Problema com a compactacao do diretorio $Backs - Verifi que!!!" | mail -s "Problema com backup" [email protected]
    echo "$Dt - Problema com a compactacao do diretorio $Backs - Verifi que!!!" >> /var/log/backup/backup-$Dt.log
    fi

    done

    Used=`df -h | grep backup | awk '{ print $4 } ' | cut -f1 -d"%"`

    if [ $Used -ge 75 ]
    then
    echo "$Dt - Problema com o espaco em disco na particao de backup -- Verif ique!!!" | mail -s "Problema com o backup" [email protected]
    echo "$Dt - Problema com o espaco em disco na particao de backup -- Verif ique!!!" >> /var/log/backup/backup-$Dt.log
    else
    echo "$Dt - Espaco na particao de backup ainda esta O.K." >> /var/log/bac kup/backup-$Dt.log
    fi

    cat /var/log/backup/backup-$Dt.log | mail -s "Resultado final do backup em disco" [email protected]

    ###
    ##
    # Detalhes e observações.

    1 - altere o email do destinatario dos logs para o seu email
    2 - aqui eu sigo a estrutura de diretórios /backup/COMPACTADOS
    onde guardo os backups compactados dos dias, mas também mantenho

    uma cópia FULL via rsync no diretório /backup
    3 - você pode melhorar de várias maneiras este script, eu não faço isto
    porque algumas vezes outras pessoas precisam usar o backup e não conhecem a estrutura.
    ex.

    As várias criadas com echo $? , podem ser referenciadas diretamente e não carregadas com outros nomes.

    Você pode criar uma variável do email.

    Espero que ajude.