Backup automatizado do banco de dados da sua Aplicação

O que vamos Aprender?
  1. Como realizar o Backup do banco de dados da sua aplicação usando a gem Backup
  2. Como ser notificado via Slack quando o backup acontecer
  3. Como automatizar esse processo usando a Gem Whenever
Porque Aprender?

Ter backups do seu banco vai te manter protegido de possíveis falhas que possam ocasionar a perda dos dados do seu usuário e automatizar esse processo vai eliminar um trabalho manual que poderia te custar muito tempo

 

Ingredientes

1. Ruby 2.3.1
2. Rails 5
3. PostgreSQL
4. Backup (Gem)
5. Whenever (Gem)
6. Slack

Código completo

Como de costume, você pode acessar o código desenvolvido durante o tutorial no GitHub para realizar comparações caso você tenha alguma dúvida :), acessa aqui o código e já me segue por lá.

REVEJA:

Screencast #1: Criando Autenticação com o Facebook! (Devise + Omniauth)
Screencast #2: Criando um e-commerce com Spree em 15 minutos!
Screencast #3: Como criar um Chat em tempo real usando Action Cable (Rails 5)
Screencast #4:
Gerenciando permissões no Rails com Devise + CanCanCan

Lista de comandos usados no Screencast em ordem (Acompanhe junto do vídeo 🙂 )
Parte 1 – Gerando nosso app Rails de exemplo

Vamos criar um Pequeno App Rails de exemplo para fazer o Backup do banco de dados.

  1. Crie o Projeto:
    1
    
    rails new backupdatabase --database=postgresql
  2. Instale as Gems:
    1
    
    bundle
  3. Crie o Scaffold:
    1
    
    rails g scaffold user first_name:string last_name:string
  4. Configure as credenciais do seu banco de dados no arquivo ‘config/database.yml’ assim como eu fiz no vídeo.
  5. Crie o banco de dados:
    1
    
    rake db:create
  6. Rode as migrations:
    1
    
    rake db:migrate
Parte 2 – Criando o Backup do nosso banco de dados
  1. Instale a gem backup, no console rode:
    1
    
    gem install backup
  2. Agora crie o arquivo de configuração do Backup:
    1
    
    backup generate:model --trigger my_backup \<br clear="none" />   --storages='local' --compressor='gzip' --notifiers='slack' --databases="postgresql"
  3. Agora customize o arquivo de configuração do Backup usando seu editor de texto favorito como foi feito no vídeo.
    • O link para o Slack é: https://{SEU-DOMINIO}.slack.com/apps
  4. Rode o método do backup para checar se a sua configuração não possui erros:
    1
    
    backup check
  5. Pronto, agora rode o comando que executa o Backup:
    1
    
    backup perform --trigger my_backup
  6. Parabéns nós conseguimos, agora vamos automatizar esse processo 🙂
Parte 3 – Automatizando o processo usando o Whenever
  1. Instale a gem whenever, no console rode:
    1
    
    gem install whenever
  2. Na raiz da pasta do seu projeto rode o comando para criar o arquivo ‘config/schedule.rb’:
    1
    
    wheneverize .
  3. No arquivo ‘config/schedule.rb’ cole o seguinte código:
    1
    2
    3
    
    every :day, at: '1:00 am' do
      command "backup perform --trigger my_app_backup"
    end
  4. Finalmente rode o comando para atualizar o Cron Tab com seu comando de rodar o backup diariamente.
    1
    
    whenever --update-crontab
  5. Pronto \o/, nós conseguimos fazer o backup, a notificação e a automatização!

 

Conclusão

Fazer o backup da sua aplicação é uma tarefa fácil e segura usando a Gem Backup e fica ainda melhor quando você recebe notificações no Slack com o status do seu backup e ainda automatiza o processo para que tudo rode sozinho.

Se você ficou com alguma dúvida ou tem sugestões, comente ai em baixo ou me adicione no Facebook clicando aqui.

Se inscreva na nossa newsletter aí do lado direito em “Se inscreva” para saber das coisas novas que vão surgir por aqui em breve!

Muito Obrigado por acompanhar este Blog!

Abraço,
Leonardo Scorza.

Deixe seu Feedback!

Comentários