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

Não perca nenhum conteúdo
Receba nosso resumo semanal com os novos posts, cursos, talks e vagas 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.
Primeira vez no OneBitCode? Curtiu esse conteúdo?
O OneBitCode tem muito mais para você!
O OneBitCode traz conteúdos de qualidade, e em português, sobre programação com foco em Ruby on Rails e também JavaScript.
Além disso, aqui sempre levamos à você conteúdos valiosos sobre a carreira de programação, dicas sobre currículos, portfólios, perfil profissional, soft skills, enfim, tudo o que você precisa saber para continuar evoluindo como Programador(a)!
Fique por dentro de todos os conteúdos o/
Nossas redes sociais:
📹 • https://onebitcode.com/dating-websites-for-older-adults/ [Live todas as terças-feiras às 19h)
💻 • american gay escort
🙂 • dating apps bloggers in san jose
📱 • comparison of adult dating sites
🐦 • https://twitter.com/onebitcode
Nossos cursos:
🥇 • Programador Full Stack Javascript em 8 Semanas
💎 • Curso Completo de Ruby
⚙ • Minicurso: API Rails 5 Completo
🐞 • Minicurso de Testes para Ruby on Rails com RSpec
Espero que curta nossos conteúdos e sempre que precisar de ajuda, fala com a gente!
Estamos aqui para você 🙂
Bem-vindo à família OneBitCode o/