Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ mysqldump --all-databases -F > /tmp/backup.mysql-full.sql
- $ mysqladmin flush-logs
- $ mysql < backup.mysql-full.sql
- $ mysqlbinlog mysql.bin.XXX > dump.XX1.sql
- $ mysql -f < dump.XX1.sql
- $ mysqlbinlog mysql.bin.XX2 > dump.XX2.sql
- $ mysql < dump.XXX.sql
- # e por ai vai... aplicando cada binary log.
- mygrants()
- {
- mysql -B -N $@ -e "SELECT DISTINCT CONCAT(
- 'SHOW GRANTS FOR ''', user, '''@''', host, ''';'
- ) AS query FROM mysql.user" |
- mysql $@ |
- sed 's/(GRANT .*)/1;/;s/^(Grants for .*)/## 1 ##/;/##/{x;p;x;}'
- }
- #!/bin/bash
- ##########################################
- # Backup database MySQL enviando para o S3
- # Criado por Andre Mesquita
- ##########################################
- #VARIAVEIS
- DATAHORA=`date +%Y%m%d-%H%M`
- FILESDIR='cd /sites/tmp'
- TAR=/bin/tar
- RM=/bin/rm
- IPBANCO="127.0.0.1"
- USERBANCO='seu usuario'
- SENHABANCO='sua senha'
- NOMEDOBANCO='nome do database'
- NOMEDOBUCKET='meusbackups'
- #Entrando no diretorio de backup
- $FILESDIR
- #Executa o backup do banco de dados
- echo 'Realizando o backup do banco de dados...'
- mysqldump --host=$IPBANCO --user=$USERBANCO --password=$SENHABANCO --databases $NOMEDOBANCO > ./backup_$NOMEDOBANCO.sql
- #Compactando o backup
- echo 'Compactando arquivos do site...'
- $TAR zcf $NOMEDOBANCO_database.bkp_$DATAHORA.tar.gz ./backup_$NOMEDOBANCO.sql
- echo 'Enviando para o respositorio de backups...'
- aws s3 cp ./$NOMEDOBANCO_database.bkp_$DATAHORA.tar.gz s3://$NOMEDOBUCKET/$NOMEDOBANCO_database.bkp_$DATAHORA.tar.gz
- echo 'Excluindo o script descompactado...'
- $RM $NOMEDOBANCO_database.bkp_$DATAHORA.tar.gz
- $RM backup_$NOMEDOBANCO.sql
- echo ' '
- echo ' Operacao finalizada. '
- echo ' '
- <?php
- ini_set('display_errors',1); ini_set('display_startup_erros',1); error_reporting(E_ALL);//force php to show any error message
- backup_tables(DB_HOST,DB_USER,DB_PASS,DB_NAME);//don't forget to fill with your own database access informations
- function backup_tables($host,$user,$pass,$name)
- {
- $link = mysqli_connect($host,$user,$pass);
- mysqli_select_db($link, $name);
- $tables = array();
- $result = mysqli_query($link, 'SHOW TABLES');
- $i=0;
- while($row = mysqli_fetch_row($result))
- {
- $tables[$i] = $row[0];
- $i++;
- }
- $return = "";
- foreach($tables as $table)
- {
- $result = mysqli_query($link, 'SELECT * FROM '.$table);
- $num_fields = mysqli_num_fields($result);
- $return .= 'DROP TABLE IF EXISTS '.$table.';';
- $row2 = mysqli_fetch_row(mysqli_query($link, 'SHOW CREATE TABLE '.$table));
- $return.= "nn".$row2[1].";nn";
- for ($i = 0; $i < $num_fields; $i++)
- {
- while($row = mysqli_fetch_row($result))
- {
- $return.= 'INSERT INTO '.$table.' VALUES(';
- for($j=0; $j < $num_fields; $j++)
- {
- $row[$j] = addslashes($row[$j]);
- if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
- if ($j < ($num_fields-1)) { $return.= ','; }
- }
- $return.= ");n";
- }
- }
- $return.="nnn";
- }
- //save file
- $handle = fopen('db_bkp/db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');//Don' forget to create a folder to be saved, "db_bkp" in this case
- fwrite($handle, $return);
- fclose($handle);
- echo "bkp efetuado com sucesso";//Sucessfuly message
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement