+ Responder ao Tópico



  1. #1

    Padrão Montagem de Script

    Pessoal,
    Preciso fazer o backup do nagios certo, são as seguintes pastas:

    DIRETÒRIOS:
    /usr/local/nagios/etc/
    /usr/local/nagios/libexec/
    /usr/local/nagios/share/images
    /usr/local/nagios/var/archives/

    O que eu queria é fazer um script simples:
    1) Enviar um e-mail com o comando "mail" dizendo que o backup foi iniciado.
    mail -s "Backup Feito" [email protected]

    2) Compactar essas pastas em 1 arquivo com formato de data com o tar. Pelo que estudei devo usar os parâmetros no tar.
    tar -cvf /backup/backup_nagios$(date +%y%m%d).tar /DIRETÓRIOS

    3) Enviar um e-mail com o comando "mail" dizendo que o backup foi feito.
    mail -s "Backup Feito" [email protected]

    Bom, alguém pode me ajudar a unir isso tudo num shell script ?

  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: Montagem de Script

    segue um script

    #!/bin/sh
    # Backup dos diretorios
    #
    # Preparacao das variaveis.
    ###########################
    # Atribui o ano atual a variavel ano.
    ano=$(date +%y)
    # Atribui o mes atual a variavel mes.
    mes=$(date +%m)
    # Atribui o dia atual a variavel dia.
    dia=$(date +%d)
    # Atribui o nome do dia da semana a variavel sem (ex:. segunda, terca....
    sem=$(date +%A)
    # Cria a variavel de logs
    log="/var/log/backup_`date '+%d%m%Y'`.log"
    # inicio dos Backups ########################################################
    # Testa a montagem do /tudo/salvo

    if [ -x "/tudo/salvo" ] # testa o diretorio onde vai colocar as pastas
    then
    ############# Se a unidade estiver montada segue abaixo o programa
    tar -cvzf /tudo/salvo/bkp_bin_$sem.tar.gz /bin 2>> $log
    tar -cvzf /tudo/salvo/bkp_dns_$sem.tar.gz /var/named/chroot/etc /var/cache /var/www 2>> $log
    tar -cvzf /tudo/salvo/bkp_etc_$sem.tar.gz /etc /usr/local 2>> $log
    if [ $? = 1 ]
    then
    echo " Backup Com Problemas " $dia$mes$ano > $log
    cat $log | mail -s "<<<< Erro no Backup >>>>" [email protected]
    else
    echo " Backup Realizado com Sucesso" $dia$mes$ano >$log
    echo " << BACKUP DO DIRETORIO BASE DADOS REALIZADO COM SUCESSO >> "
    fi
    # Execulta esta parte do programa caso a montagem nao ocorra #
    else
    echo "O Backup apresentou erro na montagem da UNIDADE -`date '+%d%m%Y'`">> $log
    cat $log | mail -s " Problemas com a montagem da Unidade ! " [email protected]
    fi


    segue criar o arquivo que vc quer cole este script e pronto, nao esqueca de attribui como execultavel este arquivo

  3. #3

    Padrão Re: Montagem de Script

    1. Criação do arquivo de backup
    tar -jcf backupfeito.tar.bz2 /usr/local/nagios/etc /usr/local/nagios/libexec /usr/local/nagios/share/images /usr/local/nagios/var/archives

    2. Envio da mensagem com anexo
    mail -s "Email com anexo 1" [email protected] < backupfeito.tar.bz2
    ou
    mailx -s "Email com anexo 1" [email protected] < backupfeito.tar.bz2
    ou
    echo "Ola fulado de tal" | mutt -s "Email com anexo 2" -a backupfeito.tar.bz2 -- [email protected]
    ou
    more backupfeito.tar.bz2 |mail -s "Email com anexo 3" [email protected]

    Acho que é isso, testa ae pra ver qual vai funcionar no seu caso.

    Abraço

  4. #4

    Padrão Re: Montagem de Script

    Opá,
    Valeu pela dica, vou tentar utilizar a idéia, qualquer coisa eu posto.

    Vlw !

  5. #5

    Padrão Re: Montagem de Script

    entao quais dos 2 fufou

  6. #6

    Padrão Re: Montagem de Script

    Bom,
    Ainda estou formulando a idéia com os scripts, com a ajuda de vocês, estou montado esse, que fico simples:

    #!/bin/bash
    #diretorio de backup
    DIR_BACKUP="/usr/local/nagios/"
    #compacta
    tar -czvf /backup/backupnagios$(date +%y%m%d).tar "$DIR_BACKUP"
    # envia o e-mail
    mail -s "Backup Feito" [email protected]

    O nagios usa o comando mail mais o postfix para enviar e-mail e funciona que uma beleza, mais pelo console digitando mail -s "teste" [email protected] a linha não funciona.
    Alguém sabe o que devo fazer, se devo usar um comando do postfix para enviar e-mail, mas o nagios envia sem problema não estou entendendo alguém pode me ajudar.

  7. #7

    Padrão Re: Montagem de Script

    Bom,
    Ainda estou formulando a idéia com os scripts, com a ajuda de vocês, estou montado esse, que fico simples:

    #!/bin/bash
    #diretorio de backup
    DIR_BACKUP="/usr/local/nagios/"
    #compacta
    tar -czvf /backup/backupnagios$(date +%y%m%d).tar "$DIR_BACKUP"
    # envia o e-mail
    mail -s "Backup Feito" [email protected]

    Estou com um pequeno problema para enviar e-mail do console no script.
    O nagios usa o comando mail mais o postfix para enviar e-mail e funciona que uma beleza, mais pelo console digitando mail -s "teste" [email protected] a linha não funciona.
    Alguém sabe o que devo fazer, se devo usar um comando do postfix para enviar e-mail, mas o nagios envia sem problema não estou entendendo alguém pode me ajudar.

  8. #8

    Padrão Re: Montagem de Script

    Bom, esquecendo à parte de e-mail, pois a necessidade é grande para isso, se eu quiser fazer esse backup por ftp para outra máquina, podem me ajudar a complementar o script para isso:

    #!/bin/bash
    #diretorio de backup
    DIR_BACKUP="/usr/local/nagios/"
    #compacta
    tar -czvf /backup/backupnagios$(date +%y%m%d).tar "$DIR_BACKUP"
    # envia o e-mail
    mail -s "Backup Feito" [email protected]