A maneira mais fácil de automatizar esta tarefa seria a combinação de MySQL Dumps e um cronjob. Você pode encontrar muitas informações sobre este tópico neste e em outros sites da Internet, mas para fins de conclusão:
Crie um arquivo mysqldump.sh
Que conterá o comando mysql dump que iremos agendar em uma tarefa cron (substituir usuário, senha e caminho para corresponder ao seu ambiente):
mysqldump -u root -p<mysql_root_password> --all-databases | gzip > /desired/backup/folder/mysqldb_'date +%F'.sql.gz
Editar: Se você quiser que o script armazene o backup em um local remoto, basta montar o dispositivo ou compartilhamento correspondente e usar o caminho de montagem no script.
Teste o script
Certifique-se de que o script tenha permissões de execução:
chmod +x /path/to/mysqldump.sh
Execute o script:
sh /path/to/mysqldump.sh
E teste se está funcionando corretamente (o arquivo de backup será criado na pasta de backup especificada).
Crie e agende um novo trabalho cron
Em um prompt de comando, digite
sudo crontab -e
Adicione a seguinte linha na parte inferior do arquivo:
30 23 * * * /path/to/mysqldump.sh
Isso executará o script todos os dias às 23:30.
Estenda este script simples
Existem literalmente muitas coisas que você pode fazer para melhorar esse método simples de backup:
- Fazendo backup para outro sistema
- Monitore o espaço em disco
- Relatório de e-mail
- ...
Portanto, não termine aqui e experimente! : -)
Use ferramentas de backup ou serviços de backup baseados em nuvem
Embora o método acima seja um dos mais fáceis e possa ser estendido para atender às suas necessidades específicas, vale a pena mencionar que existem outras alternativas:
- ferramentas de backup, como o AutoMySQLBackup, um aplicativo de código aberto o que pode facilitar o processo de configuração da notificação por email, compressão, encriptação, rotação e tipo (por exemplo, incremental) do seu backups. Quanto ao Mai 2018, está disponível para o Ubuntu Server através de APT.
- serviços de backup baseados em nuvem, como BackupBird, myRepono, Bitcan, etc., que pode ser interessante se você gerenciar vários servidores de banco de dados e deseja gerenciar centralmente todos os seus backups.
Por favor, tenha em mente que eu não estou relacionado de forma alguma a nenhuma das soluções e serviços acima mencionados e estou listando-os apenas como referência, então use-os por sua conta e risco.
% bl0ck_qu0te%