- Montagem de Script
+ Responder ao Tópico
-
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 ?
-
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
-
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
-
Re: Montagem de Script
Opá,
Valeu pela dica, vou tentar utilizar a idéia, qualquer coisa eu posto.
Vlw !
-
Re: Montagem de Script
-
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.
-
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.
-
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]