Fazendo backup do seu MySQL com API do Dropbox

Pessoal, hoje eu vou mostrar para vocês como criar uma rotina de backup do seu MySQL, utilizando o shell como script de backup e a API do Dropbox como forma de armazenamento dos dados.

[ Hits: 13.010 ]

Por: Allan Moraes em 08/12/2015


Os scripts



A API do Dropbox não é difícil de ser usada, a documentação é muito boa. É através da API que trabalharemos com o Dropbox para armazenar os nossos backups. Para nos comunicarmos com a API do Dropbox, iremos utilizar um shell criado pelo Andrea Fabrizi e que pode ser clonado do git do MySQL Box. Para baixar e instalar, siga os passos:

# cd /usr/local/bin
# git clone https://github.com/mysqlbox/Dropbox-Uploader.git
# cd Dropbox-Uploader
# chmod +x dropbox_uploader.sh
# ./dropbox_uploades.sh


Executando o shell script, serão solicitadas algumas informações, preencha-as, acesse a URL com o token e aperte enter.

# ./dropbox_uploader.sh
This is the first time you run this script.

1) Open the following URL in your Browser, and log in using your account: https://www.dropbox.com/developers/apps
2) Click on "Create App", then select "Dropbox API app"
3) Now go on with the configuration, choosing the app permissions and access restrictions to your DropBox folder
4) Enter the "App Name" that you prefer (e.g. MyUploader26630258426034)

Now, click on the "Create App" button.
When your new App is successfully created, please type the
App Key, App Secret and the Permission type shown in the confirmation page:

# App key: SUAAPPKEY
# App secret: SUAAPPSECRET

Permission type:
App folder [a]: If you choose that the app only needs access to files it creates
Full Dropbox [f]: If you choose that the app needs access to files already on Dropbox

# Permission type [a/f]: a

> App key is SUAAPPKEY, App secret is SUAAPPSECRET and Access level is App Folder. Looks ok? [y/n]: y

> Token request... OK

Please open the following URL in your browser, and allow Dropbox Uploader
to access your DropBox folder:

--> https://www.dropbox.com/1/oauth/authorize?oauth_token=TOKEN

Press enter when done...

> Access Token request... OK

Setup completed!


Com o Dropbox-Uploader configurado, vamos criar o script que fará o dump dos seus bancos de dados. Este script também está no repositório do GituHub.

# cd /usr/local/bin
# git clone https://github.com/mysqlbox/MySQL-Backup.git
# chmod 700 MySQL-Backup/Backup_MySQL.sh


Dentro do arquivo Shell, você deve colocar o usuário e senha do seu usuário de backup. Lembrando que este usuário não pode ter privilégios de administrador ou de escrita, apenas leitura.

USER="" #Usuario do backup
SECRET="" #Senha do usuario

Página anterior     Próxima página

Páginas do artigo
   1. Configurando o ambiente
   2. Criando o APP no Dropbox
   3. Os scripts
   4. Agendamento e log
Outros artigos deste autor

Blindando o MySQL: Configurações de segurança

Leitura recomendada

Minha caixa de ferramentas no GNU/Linux

BigBashView, interface gráfica para o seu shell script

Linux com boot no Pendrive, com todas as facilidades: Smart-USB_Key-Mania, PLOP Boot Manager e outros métodos

Enviando mensagens para usuários da rede

Terminal Didático - Shell Script via WEB (PHP + Bootstrap)

  
Comentários
[1] Comentário enviado por fabio em 08/12/2015 - 14:01h

Não conhecia o Dropbox-Uploader, ele me será muito útil! Show.

[2] Comentário enviado por MySQLBox em 08/12/2015 - 14:19h


[1] Comentário enviado por fabio em 08/12/2015 - 14:01h

Não conhecia o Dropbox-Uploader, ele me será muito útil! Show.


Que bom Fabio! Na dúvida é só me chamar...

[3] Comentário enviado por dipsystem em 13/07/2016 - 00:31h

ola amigo tenho uma duvida seria possível me ajudar? quando verifico os logs me reporta a seguente mensagem

Wed Jul 13 00:07:01 BRT 2016 - Fazendo backup do banco information_schema
mysqldump: Got error: 1044: Access denied for user 'backup'@'localhost' to database 'information_schema' when using LOCK TABLES
Wed Jul 13 00:07:01 BRT 2016 - Fazendo backup do banco dipaddress
Wed Jul 13 00:07:01 BRT 2016 - Fazendo backup do banco dipsystem
Wed Jul 13 00:07:02 BRT 2016 - Fazendo backup do banco mysql
-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
Wed Jul 13 00:07:02 BRT 2016 - Fazendo backup do banco performance_schema
mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user 'backup'@'localhost' for table 'cond_instances' when using LOCK TABLES
Wed Jul 13 00:07:02 BRT 2016 - Fazendo backup do banco phpmyadmin
Wed Jul 13 00:07:02 BRT 2016 - Fazendo backup do banco tracker
mysqldump: Got error: 1449: The user specified as a definer ('anderson'@'%') does not exist when using LOCK TABLES
Wed Jul 13 00:07:02 BRT 2016 - Fazendo backup do banco tracker_novo
Dropbox Uploader v0.16
Andrea Fabrizi - andrea.fabrizi@gmail.com

Usage: /usr/local/bin/Dropbox-Uploader/dropbox_uploader.sh COMMAND [PARAMETERS]...

Commands:
upload <LOCAL_FILE/DIR ...> <REMOTE_FILE/DIR>
download <REMOTE_FILE/DIR> [LOCAL_FILE/DIR]
delete <REMOTE_FILE/DIR>
move <REMOTE_FILE/DIR> <REMOTE_FILE/DIR>
copy <REMOTE_FILE/DIR> <REMOTE_FILE/DIR>
mkdir <REMOTE_DIR>
list [REMOTE_DIR]
share <REMOTE_FILE>
saveurl <URL> <REMOTE_DIR>
info
unlink

Optional parameters:
-f <FILENAME> Load the configuration file from a specific file
-s Skip already existing files when download/upload. Default: Overwrite
-d Enable DEBUG mode
-q Quiet mode. Don't show messages
-p Show cURL progress meter
-k Doesn't check for SSL certificates (insecure)

For more info and examples, please see the README file.


porem não consigo encontrar as tabelas na pasta aonde seria o repositório dos backups e nem na minha pagina do dropbox aonde o banco deveria ser importado estou erando alguma coisa ?? aguardo sua ajuda amigo con satisfação muito obrigado...

[4] Comentário enviado por MySQLBox em 13/07/2016 - 13:33h


[3] Comentário enviado por dipsystem em 13/07/2016 - 00:31h

ola amigo tenho uma duvida seria possível me ajudar? quando verifico os logs me reporta a seguente mensagem

Wed Jul 13 00:07:01 BRT 2016 - Fazendo backup do banco information_schema
mysqldump: Got error: 1044: Access denied for user 'backup'@'localhost' to database 'information_schema' when using LOCK TABLES
Wed Jul 13 00:07:01 BRT 2016 - Fazendo backup do banco dipaddress
Wed Jul 13 00:07:01 BRT 2016 - Fazendo backup do banco dipsystem
Wed Jul 13 00:07:02 BRT 2016 - Fazendo backup do banco mysql
-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
Wed Jul 13 00:07:02 BRT 2016 - Fazendo backup do banco performance_schema
mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user 'backup'@'localhost' for table 'cond_instances' when using LOCK TABLES
Wed Jul 13 00:07:02 BRT 2016 - Fazendo backup do banco phpmyadmin
Wed Jul 13 00:07:02 BRT 2016 - Fazendo backup do banco tracker
mysqldump: Got error: 1449: The user specified as a definer ('anderson'@'%') does not exist when using LOCK TABLES
Wed Jul 13 00:07:02 BRT 2016 - Fazendo backup do banco tracker_novo
Dropbox Uploader v0.16
Andrea Fabrizi - andrea.fabrizi@gmail.com

Usage: /usr/local/bin/Dropbox-Uploader/dropbox_uploader.sh COMMAND [PARAMETERS]...

Commands:
upload &lt;LOCAL_FILE/DIR ...&gt; &lt;REMOTE_FILE/DIR&gt;
download &lt;REMOTE_FILE/DIR&gt; [LOCAL_FILE/DIR]
delete &lt;REMOTE_FILE/DIR&gt;
move &lt;REMOTE_FILE/DIR&gt; &lt;REMOTE_FILE/DIR&gt;
copy &lt;REMOTE_FILE/DIR&gt; &lt;REMOTE_FILE/DIR&gt;
mkdir &lt;REMOTE_DIR&gt;
list [REMOTE_DIR]
share &lt;REMOTE_FILE&gt;
saveurl &lt;URL&gt; &lt;REMOTE_DIR&gt;
info
unlink

Optional parameters:
-f &lt;FILENAME&gt; Load the configuration file from a specific file
-s Skip already existing files when download/upload. Default: Overwrite
-d Enable DEBUG mode
-q Quiet mode. Don't show messages
-p Show cURL progress meter
-k Doesn't check for SSL certificates (insecure)

For more info and examples, please see the README file.


porem não consigo encontrar as tabelas na pasta aonde seria o repositório dos backups e nem na minha pagina do dropbox aonde o banco deveria ser importado estou erando alguma coisa ?? aguardo sua ajuda amigo con satisfação muito obrigado...


Amigo, de uma olhada nas permissões que o usuário possui: SHOW GRANTS FOR backup@localhost \G
Qual a versão do teu MySQL?

[5] Comentário enviado por dipsystem em 13/07/2016 - 20:23h

oi amigo obrigado por responder...

estou usando o ubuntu 12.04 com o mysql 5.5.46-0ubuntu0.12.04.2
sobre as permissões eu atribui todas... poderia me ajudar pelo whats - 54 81341096

agradeceria muito meu amigo


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts