Crontab

Criando tarefa cron no linux para backup automático de bases de dados mysql

O linux possui um sistema próprio de crontabs.

Nas pastas a seguir, é possível criar arquivos que serão executados rotineiramente com determinadas configurações, arquivos esses que realizam a execução de qualquer função dentro do linux.

/etc/cron.daily – os arquivos nesse diretório são “executados” diariamente

/etc/cron.hourly – os arquivos nesse diretório são “executados” de hora em hora

/etc/cron.monthly – os arquivos nesse diretório são “executados” uma vez ao mês

/etc/cron.weekly – os arquivos nesse diretório são “executados” uma vez na semana

Agora que você já sabe como funcionam esses diretórios, iremos utilizar um desses arquivos para criar nossa cron de backup.

Crie um arquivo com o nome de cron-backup-mysql dentro do diretório desejado. Neste exemplo criamos o arquivo no diretório /etc/cron.daily para que sua execução seja diariamente, e assim podemos realizar o backup das bases de dados todos os dias.

Copie o script abaixo no arquivo criado e salve. Utilize o editor de sua preferência, como o vi, nano, etc.

No exemplo abaixo, uma pasta com o nome do dia da semana é criada com os backups todos os dias dentro do diretório /backups.

Ex:

  • /backups/dom
  • /backups/seg
  • /backups/ter
  • /backups/qua
  • /backups/qui
  • /backups/sex
  • /backups/sab

E dentros dos respectivos diretórios são realizados os backups das bases de dados escolhidas.

#!/bin/bash
data=`/bin/date +%a`

rm -R /backups/${data}
mkdir /backups/${data}

mysqldump -u usuario --password=senha database > /backups/${data}/database.sql

Compartilhe!

Deixe um comentário