Pular para o conteúdo

Script de backup que envia por FTP, gera log e envia por e-mail

Galera, esse script foi uns dos primeiros scripts que eu fiz e dei várias aperfeiçoadas.

Ele gera um tar.bz2 dos diretórios que forem definidos na variável, envia para um FTP, gera e envia um log por e-mail.

Quem tiver sugestões ou melhorias é só falar.
Marcelo Maia maiam
Hits: 14.862 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Galera, esse script foi uns dos primeiros scripts que eu fiz e dei várias aperfeiçoadas.

Ele gera um tar.bz2 dos diretórios que forem definidos na variável, envia para um FTP, gera e envia um log por e-mail.

Quem tiver sugestões ou melhorias é só falar.
Download 4632.backup.sh Enviar nova versão

Esconder código-fonte

#!/bin/bash
##############Scrip de backup#####################
##Autor: Marcelo Maia (mmaia@wanteck.com.br)

#Diretorio do log
bkplog=/var/log/backup

#Dirtorios de backup
#Colocar o caminho dos diretorios entre aspas e dentro dos parenteses
bkpdir=("/root/" "/home/")

#aquivo de backup
bkp=bkp_`date +%d%m%Y`.tar.bz2

#Alterar os dados abaixo para o FTP
#Dados do FTP
ftp=ENDERECO_FTP
user=USUARIO_FTP
pass=SENHA_FTP

#Funcao para envio do backup por FTP
function envia_ftp(){
        ftp -ni $ftp <<EOF
        user $user $pass
        put $bkp
        quit
EOF
        echo "`date "+%d-%m-%Y"` Backup feito com sucesso `date "+%HH:%MM"`" > $bkplog/backup.log
}

#Backupeando em tar.gz.
tar -cjvf bkp_`date +%d%m%Y`.tar.bz2 ${bkpdir[@]}

#gerando log de backup
if [ $? -ne 0 ] # Testa se o ultimo comando se foi execudado com sucesso.
  then
  echo "`date "+%d-%m-%Y"` Backup com erro `date "+%HH:%MM"`" > $bkplog/backup.log
  else
        envia_ftp
 fi

#Aterar o endereco de e-mail
#Enviando e-mail com o log
cat $bkplog/backup.log |mail E-MAIL@DOMINIO -s "Log do backup"

DefaultApps V2.1

Prova LPI em shell script - com contador de acertos

Conexão SSH via Console

vkernel

RwMult - script + zenity

#1 Comentário enviado por dgsmarques em 11/06/2010 - 09:02h
Maia Parabens script muito bom.
#2 Comentário enviado por removido em 14/06/2010 - 09:48h
Parabéns maia continue assim que vc vai ser que nem eu.
#3 Comentário enviado por gesioweb em 29/09/2010 - 12:08h
Bom dia Marcelo,

Ao tentar rodar o script ocorre o erro abaixo, utilizo CentOS, no ubuntu com o mesmo script não tive problemas.

tar: Removing leading `/' from member names
/sircplus/relat/ford/002.pdf
This security scheme is not implemented
This security scheme is not implemented
KERBEROS_V4 rejected as an authentication type

Obrigado
#4 Comentário enviado por maiam em 02/10/2010 - 21:08h
Esse erro acontece normalmente quando você tem um proftpd instalado na maquina, esta faltando algum pacote de autenticação para que o usuário e senha do ftp sincronize com o PAM.
#5 Comentário enviado por d3l3t3 em 20/10/2010 - 11:33h
Muito bom cara...
Parabéns... :D
#6 Comentário enviado por pexxx em 09/08/2011 - 20:27h
Muito bom excelente parabens mesmo.
Caso eu queira que este backup seja enviado para um compartilhamento samba ou por ssh, no lugar do FTP, o que mudaria no script?

Obrigado.

Contribuir com comentário

Entre na sua conta para comentar.