+ Responder ao Tópico



  1. #1

    Padrão ajuda com script de backup

    Olá, eu tenho um script de backup do meu banco de dados firebird, nesse meu script, e ele está agendado para executar todo dia às 18h, ele faz um backup do meu banco usando o gbak, dpois compacta ele em zip, dpois faz uma cópia pro meu hd interno, dpois ele monta o zipdrive e copia pro zip, e dpois desmonta, e dpois monta meu hd usb, copia o backup, e dpois desmonta, o problema é que tem vez que eu tiro meu hd externo. ae o que acontece eh que ele tenta montar o hd externo e nao consegui ae pega e copia o backup para a pasta onde era para ser montado o meu hd usb.

    Eu gostaria de saber como que eu coloco umas condiçoes do meu script para ignorar a parte de copia para o hd externo, caso o script nao consiga montar o hd externo....



    ae está meu script:
    Código :
    [SIZE=1]
    #!/bin/bash
    # Variavel com usuario e senha do firebird
    set isc_user=SYSDBA
    set isc_password=masterkey
     
    echo ----------------- Iniciando Backup do Banco de DADDOS -----------------
    cd /bd
    gbak -user SYSDBA -pass masterkey -backup -ignore SUPREMA.FDB supremabkp-quinta-atual.fbk
    zip -r supremabkp-quinta-atual.zip supremabkp-quinta-atual.fbk
    rm /bd/supremabkp-quinta-atual.fbk
    #inicia backup interno
    mv -f /bd/Backup/diariofechamento/quinta/supremabkp-quinta-sempassada.zip /bd/Backup/diariofechamento/quinta/supremabkp-quinta-sematrasada.zip
    mv -f /bd/Backup/diariofechamento/quinta/supremabkp-quinta-atual.zip /bd/Backup/diariofechamento/quinta/supremabkp-quinta-sempassada.zip
    mv -f /bd/supremabkp-quinta-atual.zip /bd/Backup/diariofechamento/quinta/supremabkp-quinta-atual.zip
    #finaliza backup interno
    #inicia backup em zipdrive
    mount /dev/sdb /media/drivezip
    cp -f /bd/Backup/diariofechamento/quinta/supremabkp-quinta-atual.zip /media/drivezip/supremabkp-quinta-atual.zip
    umount /media/drivezip
    #finaliza backup em zipdrive
     
    #inicia backup em hd externo
    mount /dev/sdc2 /media/hdex
    mv -f /media/hdex/supremabkp-quinta-sempassada.zip /media/hdex/supremabkp-quinta-sematrasada.zip
    mv -f /media/hdex/supremabkp-quinta-atual.zip /media/hdex/supremabkp-quinta-sempassada.zip
    cp -f /bd/Backup/diariofechamento/quinta/supremabkp-quinta-atual.zip /media/hdex/supremabkp-quinta-atual.zip
    umount /media/hdex
    #finaliza backup em hd externo
     
    echo ----------------- " Backup Realizado com Sucesso " -----------------
    [/SIZE][FONT=Arial][SIZE=2][/SIZE][/FONT]

  2. #2

    Padrão

    Ediley,

    é só fazer a seguinte alteração e deve resolver o seu problema:

    Código :
    [SIZE=1]#inicia backup em hd externo
    mount /dev/sdc2 /media/hdex
    if [ $? == "0" ]; then
        mv -f /media/hdex/supremabkp-quinta-sempassada.zip /media/hdex/supremabkp-quinta-sematrasada.zip
        mv -f /media/hdex/supremabkp-quinta-atual.zip /media/hdex/supremabkp-quinta-sempassada.zip
        cp -f /bd/Backup/diariofechamento/quinta/supremabkp-quinta-atual.zip /media/hdex/supremabkp-quinta-atual.zip
        umount /media/hdex
    fi
    #finaliza backup em hd externo
     [/SIZE]



  3. #3

    Padrão

    Citação Postado originalmente por galahad Ver Post
    Ediley,

    é só fazer a seguinte alteração e deve resolver o seu problema:

    Código :
    [SIZE=1]#inicia backup em hd externo[/SIZE]
    [SIZE=1]mount /dev/sdc2 /media/hdex[/SIZE]
    [SIZE=1]if [ $? == "0" ]; then[/SIZE]
    [SIZE=1]   mv -f /media/hdex/supremabkp-quinta-sempassada.zip /media/hdex/supremabkp-quinta-sematrasada.zip[/SIZE]
    [SIZE=1]   mv -f /media/hdex/supremabkp-quinta-atual.zip /media/hdex/supremabkp-quinta-sempassada.zip[/SIZE]
    [SIZE=1]   cp -f /bd/Backup/diariofechamento/quinta/supremabkp-quinta-atual.zip /media/hdex/supremabkp-quinta-atual.zip[/SIZE]
    [SIZE=1]   umount /media/hdex[/SIZE]
    [SIZE=1]fi[/SIZE]
    [SIZE=1]#finaliza backup em hd externo[/SIZE]
    i ae galahad, olha ae vc me ajudando d novo...rsrs, esse iniciantes no linux como eu eh foda neh..rsrs.... vou tentar aki, dpois falo se deu certo......

  4. #4

    Padrão

    Temos que ajudar esses iniciantes para depois eles poderem ajudar os próximos iniciantes, né?

    Sempre um prazer ajudar.

  5. #5

    Padrão

    Ae demorei testar, pq irei me casar nesse final de semana e estava meio ocupado com os preparativos....rsrs mas hj arrumei um tempinho para testar e deu certo......mas me diga uma coisa.....essa mesma condição eu posso colocar ela pro zipdrive ou tenho que modificar algo?
    e sei q naum tem mt aver com o tópico, mas como que eu faço para outro usuario sem ser o root poder montar o hd externo e zipdrive, pois eu criei um usuario, e fiz umas motificações para assim que esse usuario se logar no modo texto, iniciar um script de backup que eu criei, mas quando chega na parte de montar o zipdrive e o hdexterno ele naum continua de forma automática. eu pensei em colocar o comando sudo na frente do comando para montar, mas ae a pessoa que vai efetuar os backup tem que saber a senha root, coisa que eu naum quero, entende. alguem ae pode me ajudar?

  6. #6

    Padrão

    Parabéns pelo casamento!

    Para esse usuário montar o zip drive e o hd externo você tem duas opções:

    1) criar uma entrada no /etc/fstab para cada um dos dispositivos colocando a opção users na coluna de opções.

    Ex.:
    Código :
    /dev/hdexterno   /mnt/hdexterno  auto  default,users,noauto 0 0

    O problema com essa opção é que os usuários não vão conseguir desmontar o disco.

    2) Criar entradas no sudoers (usando o visudo), para permitir a esse usuário a executar os comandos mount e umount como root sem senha. Lembre-se que a senha que o sudo pede não é a senha de root, mas sim a senha do usuário. No sudoers tem como você colocar para o usuário não precisar de senha e especificar qual(is) o(s) comando(s) necessários.

    entradas no sudoers:

    Código :
    backup    ALL = (root) NOPASSWD: /bin/mount /mnt/hdexterno, /bin/umount /mnt/hdexterno, /bin/mount /mnt/zipdrive, /bin/umount /mnt/zipdrive

    Com essa linha, você permite ao usuário backup executar como root os comandos mount e umount nos diretórios /mnt/zipdrive e /mnt/hdexterno, sem que precise digitar senha nenhuma, o que permite que você mantenha seu script automático.

    Teste aí, qualquer problema é só falar.