De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Marcelo Garcia
Data de Publicação: 05 de Fevereiro de 2005
Este é um assunto sempre em pauta - "Backup". Hoje vamos abordar uma maneira de fazer backup de bases Mysql, que estão muito em moda. Este é um assunto do tipo "existem 1000 maneiras de fazer neston". Bom inventei a minha ! O que vamos precisar para executar esta dica em casa :
./mybackup.sh <database>podemos ainda passar os seguintes parametros (OPCIONAIS)
./mybackup.sh <database> [user] [password] [host]Abaixo anatomia do script. É um ótimo exemplo de tudo o que ja vimos aqui a nível de bash. Esta bem comentado, perca um tempinho analisando o script.
#!/bin/bash # Exporta dados de uma base mysql para um txt # By Marcelo Garcia 06/11/2004 if [ $# -lt "1" ] ; then # Teste se tem ao menos 1 parametro - database echo -e "\nSyntaxe : ./mybackup.sh database [user] [password] [host] \n" exit 1 # exibo sintaxe e saio com codigo de erro fi # Atribuo parametros para variaveis database=$1 user=$2 passwd=$3 host=$4 # Verifico as variaveis (parametros) opcionais e atribuo o default caso vazio let ${passwd:="backup"} let ${user:="backup"} let ${host:="localhost"} backup_file="$database``date +%d-%m-%Y``.BKP" #Agrego a data ao nome do banco para #Exceta a exportacao de dados mysqldump --host=$host --user=$user --password=$passwd --databases $database > $backup_fileO resultado gerado é bem completo, e extremamente UTIL para um RESTORE completo da base. Ele cria o DATABASE, as TABELAS e or fim INSERE os dados do ultimo backup. Voce so vai ter que roda-lo no seu mysql em caso de pane. Estas base foi um teste que criei para auxiliar um colega da lista de php. Aproveitei aqui para exporta-la como exemplo. A sintaxe que eu usei foi:
./mybackup.sh test
-- MySQL dump 10.2 -- -- Host: localhost Database: test --------------------------------------------------------- -- Server version 4.1.0-alpha-standard -- -- Current Database: test -- CREATE DATABASE /*!32312 IF NOT EXISTS*/ test; USE test; -- -- Table structure for table 'fornecedores' -- DROP TABLE IF EXISTS fornecedores; CREATE TABLE fornecedores ( id_fornec int(2) NOT NULL auto_increment, nomefornec varchar(15) default NULL, PRIMARY KEY (id_fornec) ) TYPE=MyISAM CHARSET=latin1; -- -- Dumping data for table 'fornecedores' -- /*!40000 ALTER TABLE fornecedores DISABLE KEYS */; LOCK TABLES fornecedores WRITE; INSERT INTO fornecedores VALUES (1,'AMD'),(2,'Intel'); UNLOCK TABLES; /*!40000 ALTER TABLE fornecedores ENABLE KEYS */; -- -- Table structure for table 'produtos' -- DROP TABLE IF EXISTS produtos; CREATE TABLE produtos ( id_product int(2) NOT NULL auto_increment, id_fornec int(2) NOT NULL default '0', produto varchar(15) default NULL, PRIMARY KEY (id_product) ) TYPE=MyISAM CHARSET=latin1; -- -- Dumping data for table 'produtos' -- /*!40000 ALTER TABLE produtos DISABLE KEYS */; LOCK TABLES produtos WRITE; INSERT INTO produtos VALUES (1,1,'Duron 1.6'),(2,1,'Duron 1.8'),(3,1,'Athlon 1.8'),(4,1,'Athlon 2000+'),(5,1,'Athlon 2400+'),(6,2,'Pentium IV 2.2'),(7,2,'Pentium IV 2.4'),(8,2,'Pentium IV 2.6'),(9,2,'Celeron'); UNLOCK TABLES; /*!40000 ALTER TABLE produtos ENABLE KEYS */;./mybackup.sh test
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários