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

Publicado por Marcelo Maia (última atualização em 11/06/2010)

[ Hits: 13.493 ]

Download 4632.backup.sh




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.

  



Esconder código-fonte

#!/bin/bash
##############Scrip de backup#####################
##Autor: Marcelo Maia ([email protected])

#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 [email protected] -s "Log do backup"

Scripts recomendados

Para quem esquece facil das coisas

Encerrar vários processos de uma mesma aplicação

Script para Remover Ascentos em arquivos HTML

Backup Base de Dados PostgreSQL [pg_dump]

Sysinfo 2.0 - Info do sistema


  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts