+ Responder ao Tópico



  1. #1

    Padrão Ajuda com Script de Backup

    Boa dia Galera,

    Seguinte hoje eu faço um backup full todos os dias esta funcionando direitinho soh que em alguns casos estou tendo problemas com espaço em disco, então estou desenvolvendo um novo modelo onde aos domingos eu faço um backup full e na segunda eu pego soh o q foi criado e alterado e na terça eu jah pego o q foi alterado na segunda e na terça e assim vai subindo.

    domingo full
    segunda -1 (arquivos criados/modificados com 1 dia)
    terça -2 (arquivos criados/modificados com 2 dia)
    quarta -3 (arquivos criados/modificados com 3 dia)
    quinta -4 (arquivos criados/modificados com 4 dia)
    sexta -5 (arquivos criados/modificados com 5 dia)
    sabado -6 (arquivos criados/modificados com 6 dia)

    então montei o meu script da seguinte forma.

    #!/bin/bash

    hora=`date +%H:%M`
    data=`date +%Y-%m-%d`

    echo "arquivos temporarios do bkp"
    arquivo_temp1=/tmp/lx-seg.tgz
    arquivo_temp2=/tmp/user-seg.tgz

    echo "local onde sera guardado os bkps"
    disp_backup="/media/smart"

    echo "arquivos a serem salvos no backup"
    lx="/etc /home /root /var/www /var/named"
    user=`find /dados/users/ -mtime -1 -ctime -1`

    echo "log dos backups"
    arquivo_log=/var/log/backup/backup-seg

    echo "Inicio do Backup"
    echo "Iniciando o backup do dia $data as $hora"
    if tar -czvf $arquivo_temp1 $lx --exclude-from=/root/gerencia/scripts/bkpexclude > $arquivo_log1
    tar -czvf $arquivo_temp2 $user --exclude-from=/root/gerencia/scripts/bkpexclude > $arquivo_log2

    then

    echo "Backup feito com sucesso"

    else
    echo "Ocorreram erros no backup, favor consultar o arquivo $arquivo_log1 $arquivo_log2 $arquivo_log3 $arquivo_log4 $arquivo_log5 $arquivo_log6 $arquivo_log7 para maiores informacoes"
    fi

    echo "Movendo o Backup para o SMART"
    mv $arquivo_temp1 $disp_backup >> $arquivo_log1 2>&1

    eu colei aqui uma parte do script que e para chegar onde estou com o problema.

    Reparem que eu uso o find para colocar o conteudo dentro de uma variavel.

    user=`find /dados/users/ -mtime -1 -ctime -1`

    então executei o script dando um bash -x ./backupSeg.sh

    e ele me retornou esse erro abaixo.


    tar: SHRM.zip: Não é possível stat: Arquivo ou diretório não encontrado
    tar: /dados/users/felipe/Minhas: Não é possível stat: Arquivo ou diretório não encontrado
    tar: m\372sicas/iTunes: Não é possível stat: Arquivo ou diretório não encontrado
    tar: /dados/users/felipe/Minhas: Não é possível stat: Arquivo ou diretório não encontrado
    tar: m\372sicas/iTunes/iTunes: Não é possível stat: Arquivo ou diretório não encontrado
    tar: Library: Não é possível stat: Arquivo ou diretório não encontrado
    tar: Extras.itdb: Não é possível stat: Arquivo ou diretório não encontrado
    tar: /dados/users/felipe/Minhas: Não é possível stat: Arquivo ou diretório não encontrado
    tar: m\372sicas/iTunes/iTunes: Não é possível stat: Arquivo ou diretório não encontrado
    tar: Library.itl: Não é possível stat: Arquivo ou diretório não encontrado
    tar: /dados/users/felipe/Minhas: Não é possível stat: Arquivo ou diretório não encontrado
    tar: m\372sicas/iTunes/iTunes: Não é possível stat: Arquivo ou diretório não encontrado
    tar: Music: Não é possível stat: Arquivo ou diretório não encontrado
    tar: Library.xml: Não é possível stat: Arquivo ou diretório não encontrado
    tar: /dados/users/felipe/Minhas: Não é possível stat: Arquivo ou diretório não encontrado
    tar: m\372sicas/iTunes/sentinel: Não é possível stat: Arquivo ou diretório não encontrado
    tar: /dados/users/wilma/RELA\307\303O: Não é possível stat: Arquivo ou diretório não encontrado
    tar: CULLINAN.xls: Não é possível stat: Arquivo ou diretório não encontrado
    tar: Exiting with failure status due to previous errors


    Mas quando olhei os arquivos que foram gerado eles estavam lá com o tamanho legal.

    Tipo ele compactou muitos arquivos um tgz que normalmente da 32GB nesse caso ficou em 2.3GB agora esse erro me deixo com uma pulga atras da orelha sera q todos os arquivos que foram criados ou alterados nesse dia está lah ?

    Abraço a todos !!!
    Última edição por Magal; 09-01-2013 às 13:13. Razão: Correção do Título

  2. #2
    Analista de Suporte em TI Avatar de demattos
    Ingresso
    Jul 2011
    Localização
    Criciuma/SC
    Posts
    1.923
    Posts de Blog
    3

    Padrão Re: ajuda com script de backup

    Citação Postado originalmente por noir Ver Post
    Boa dia Galera,

    Seguinte hoje eu faço um backup full todos os dias esta funcionando direitinho soh que em alguns casos estou tendo problemas com espaço em disco, então estou desenvolvendo um novo modelo onde aos domingos eu faço um backup full e na segunda eu pego soh o q foi criado e alterado e na terça eu jah pego o q foi alterado na segunda e na terça e assim vai subindo.

    domingo full
    segunda -1 (arquivos criados/modificados com 1 dia)
    terça -2 (arquivos criados/modificados com 2 dia)
    quarta -3 (arquivos criados/modificados com 3 dia)
    quinta -4 (arquivos criados/modificados com 4 dia)
    sexta -5 (arquivos criados/modificados com 5 dia)
    sabado -6 (arquivos criados/modificados com 6 dia)

    então montei o meu script da seguinte forma.

    #!/bin/bash

    hora=`date +%H:%M`
    data=`date +%Y-%m-%d`

    echo "arquivos temporarios do bkp"
    arquivo_temp1=/tmp/lx-seg.tgz
    arquivo_temp2=/tmp/user-seg.tgz

    echo "local onde sera guardado os bkps"
    disp_backup="/media/smart"

    echo "arquivos a serem salvos no backup"
    lx="/etc /home /root /var/www /var/named"
    user=`find /dados/users/ -mtime -1 -ctime -1`

    echo "log dos backups"
    arquivo_log=/var/log/backup/backup-seg

    echo "Inicio do Backup"
    echo "Iniciando o backup do dia $data as $hora"
    if tar -czvf $arquivo_temp1 $lx --exclude-from=/root/gerencia/scripts/bkpexclude > $arquivo_log1
    tar -czvf $arquivo_temp2 $user --exclude-from=/root/gerencia/scripts/bkpexclude > $arquivo_log2

    then

    echo "Backup feito com sucesso"

    else
    echo "Ocorreram erros no backup, favor consultar o arquivo $arquivo_log1 $arquivo_log2 $arquivo_log3 $arquivo_log4 $arquivo_log5 $arquivo_log6 $arquivo_log7 para maiores informacoes"
    fi

    echo "Movendo o Backup para o SMART"
    mv $arquivo_temp1 $disp_backup >> $arquivo_log1 2>&1

    eu colei aqui uma parte do script que e para chegar onde estou com o problema.

    Reparem que eu uso o find para colocar o conteudo dentro de uma variavel.

    user=`find /dados/users/ -mtime -1 -ctime -1`

    então executei o script dando um bash -x ./backupSeg.sh

    e ele me retornou esse erro abaixo.


    tar: SHRM.zip: Não é possível stat: Arquivo ou diretório não encontrado
    tar: /dados/users/felipe/Minhas: Não é possível stat: Arquivo ou diretório não encontrado
    tar: m\372sicas/iTunes: Não é possível stat: Arquivo ou diretório não encontrado
    tar: /dados/users/felipe/Minhas: Não é possível stat: Arquivo ou diretório não encontrado
    tar: m\372sicas/iTunes/iTunes: Não é possível stat: Arquivo ou diretório não encontrado
    tar: Library: Não é possível stat: Arquivo ou diretório não encontrado
    tar: Extras.itdb: Não é possível stat: Arquivo ou diretório não encontrado
    tar: /dados/users/felipe/Minhas: Não é possível stat: Arquivo ou diretório não encontrado
    tar: m\372sicas/iTunes/iTunes: Não é possível stat: Arquivo ou diretório não encontrado
    tar: Library.itl: Não é possível stat: Arquivo ou diretório não encontrado
    tar: /dados/users/felipe/Minhas: Não é possível stat: Arquivo ou diretório não encontrado
    tar: m\372sicas/iTunes/iTunes: Não é possível stat: Arquivo ou diretório não encontrado
    tar: Music: Não é possível stat: Arquivo ou diretório não encontrado
    tar: Library.xml: Não é possível stat: Arquivo ou diretório não encontrado
    tar: /dados/users/felipe/Minhas: Não é possível stat: Arquivo ou diretório não encontrado
    tar: m\372sicas/iTunes/sentinel: Não é possível stat: Arquivo ou diretório não encontrado
    tar: /dados/users/wilma/RELA\307\303O: Não é possível stat: Arquivo ou diretório não encontrado
    tar: CULLINAN.xls: Não é possível stat: Arquivo ou diretório não encontrado
    tar: Exiting with failure status due to previous errors


    Mas quando olhei os arquivos que foram gerado eles estavam lá com o tamanho legal.

    Tipo ele compactou muitos arquivos um tgz que normalmente da 32GB nesse caso ficou em 2.3GB agora esse erro me deixo com uma pulga atras da orelha sera q todos os arquivos que foram criados ou alterados nesse dia está lah ?

    Abraço a todos !!!
    Um outra ideia e vc usar o Rsync que ele faz so encrementa e coloca arquivos que foram alterados, deixando os que nao foram de fora, desta forma cria um bkp encremental
    http://gmedeiros.net/site/index.php/...ntal-com-rsync Este link tem um exemplo de um que fiz para sincronizar dois servidores samba a um tempo atraz.

    Outra forma de fazer e usando o tar pode ser visto neste exemplo
    http://www.vivaolinux.com.br/script/...ncremental-tar

    Neste outro endereco tem uma explicacao muito boa sobre o comando tar http://catlingmindswipe.blogspot.com...ups-using.html

    Uma observacao:

    Para vc somente encrementar um bkp ja feito so modificando os que sofreram alteracoes use o tar em conjunto com o rsync o rsync serve para isto sincronizar entre duas pastas, agora para criar o script vai da sua criatividade

    nao sei se e isto que vc deseja qualqyuer coisa e so perguntar que te ajudo.


    abraco