domingo, 5 de maio de 2013

Script Linux de backup Mysql

1º Criar usuário para executar o backup:

GRANT FILE, SELECT, SHOW VIEW, LOCK TABLES, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER, USAGE ON

*.* TO 'backup_user'@'localhost' IDENTIFIED BY 'backupmysql';

2º Criar o script:

nano /bin/bkpmysql

digitar no arquivo:

#!/bin/bash

DATAHORA=`date +%Y%m%d-%H%M`
MYSQLDUMP=/usr/bin/mysqldump
MYSQLDIR='cd /var/backup/mysql/'
TAR=/bin/tar
RM=/bin/rm

$MYSQLDUMP -u backup_user -pbackupmysql controledb > /var/backup/mysql/bkpmysql_$DATAHORA

$MYSQLDIR

$TAR czvf bkpmysql_$DATAHORA.tar.gz bkpmysql_$DATAHORA

3º Dar permissão no script:

chmod +x /bin/bkpmysql

4º Criar as pastas:

mkdir /var/backup
mkdir /var/backup/mysql

5º Editar o arquivo:
crontab -e

10 19 * * * /bin/bkpmysql

6º Liberar porta 22 do servidor remoto:
iptables -A INPUT -i 192.168.0.107 -p tcp --dport 22 -j ACCEPT

7º Criar uma pasta para receber os arquivos sincronizados:
mkdir /home/wendell/sinc

8º Instalar Rsync:
apt-get install rysnc


9º Configurar arquivo de sincronização no servidor que receberá os dados sincronizados:

nano /bin/sincroniza

#!/bin/bash

sync -avz root@192.168.0.107:/var/backup/mysql/ /home/wendell/sinc/

10º Dar permissão no script:

chmod +x /bin/sincroniza

11º Configurar crontab:

crontab -e
30 20 * * * /bin/sincroniza

12º Configurar:

ssh-keygen -t dsa -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub | ssh root@maquina_remota 'cat - >> ~/.ssh/authorized_keys'
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

Nenhum comentário:

Postar um comentário