Advertisement
Guest User

Untitled

a guest
Sep 10th, 2017
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. $ mysqldump --all-databases -F > /tmp/backup.mysql-full.sql
  2. $ mysqladmin flush-logs
  3.  
  4. $ mysql < backup.mysql-full.sql
  5. $ mysqlbinlog mysql.bin.XXX > dump.XX1.sql
  6. $ mysql -f < dump.XX1.sql
  7.  
  8. $ mysqlbinlog mysql.bin.XX2 > dump.XX2.sql
  9. $ mysql < dump.XXX.sql
  10. # e por ai vai... aplicando cada binary log.
  11.  
  12. mygrants()
  13. {
  14. mysql -B -N $@ -e "SELECT DISTINCT CONCAT(
  15. 'SHOW GRANTS FOR ''', user, '''@''', host, ''';'
  16. ) AS query FROM mysql.user" |
  17. mysql $@ |
  18. sed 's/(GRANT .*)/1;/;s/^(Grants for .*)/## 1 ##/;/##/{x;p;x;}'
  19. }
  20.  
  21. #!/bin/bash
  22. ##########################################
  23. # Backup database MySQL enviando para o S3
  24. # Criado por Andre Mesquita
  25. ##########################################
  26.  
  27. #VARIAVEIS
  28. DATAHORA=`date +%Y%m%d-%H%M`
  29. FILESDIR='cd /sites/tmp'
  30. TAR=/bin/tar
  31. RM=/bin/rm
  32.  
  33. IPBANCO="127.0.0.1"
  34. USERBANCO='seu usuario'
  35. SENHABANCO='sua senha'
  36. NOMEDOBANCO='nome do database'
  37. NOMEDOBUCKET='meusbackups'
  38.  
  39. #Entrando no diretorio de backup
  40. $FILESDIR
  41.  
  42. #Executa o backup do banco de dados
  43. echo 'Realizando o backup do banco de dados...'
  44. mysqldump --host=$IPBANCO --user=$USERBANCO --password=$SENHABANCO --databases $NOMEDOBANCO > ./backup_$NOMEDOBANCO.sql
  45.  
  46. #Compactando o backup
  47. echo 'Compactando arquivos do site...'
  48. $TAR zcf $NOMEDOBANCO_database.bkp_$DATAHORA.tar.gz ./backup_$NOMEDOBANCO.sql
  49.  
  50. echo 'Enviando para o respositorio de backups...'
  51. aws s3 cp ./$NOMEDOBANCO_database.bkp_$DATAHORA.tar.gz s3://$NOMEDOBUCKET/$NOMEDOBANCO_database.bkp_$DATAHORA.tar.gz
  52.  
  53. echo 'Excluindo o script descompactado...'
  54. $RM $NOMEDOBANCO_database.bkp_$DATAHORA.tar.gz
  55. $RM backup_$NOMEDOBANCO.sql
  56.  
  57. echo ' '
  58. echo ' Operacao finalizada. '
  59. echo ' '
  60.  
  61. <?php
  62. ini_set('display_errors',1); ini_set('display_startup_erros',1); error_reporting(E_ALL);//force php to show any error message
  63.  
  64. backup_tables(DB_HOST,DB_USER,DB_PASS,DB_NAME);//don't forget to fill with your own database access informations
  65.  
  66. function backup_tables($host,$user,$pass,$name)
  67. {
  68. $link = mysqli_connect($host,$user,$pass);
  69. mysqli_select_db($link, $name);
  70. $tables = array();
  71. $result = mysqli_query($link, 'SHOW TABLES');
  72. $i=0;
  73. while($row = mysqli_fetch_row($result))
  74. {
  75. $tables[$i] = $row[0];
  76. $i++;
  77. }
  78. $return = "";
  79. foreach($tables as $table)
  80. {
  81. $result = mysqli_query($link, 'SELECT * FROM '.$table);
  82. $num_fields = mysqli_num_fields($result);
  83. $return .= 'DROP TABLE IF EXISTS '.$table.';';
  84. $row2 = mysqli_fetch_row(mysqli_query($link, 'SHOW CREATE TABLE '.$table));
  85. $return.= "nn".$row2[1].";nn";
  86. for ($i = 0; $i < $num_fields; $i++)
  87. {
  88. while($row = mysqli_fetch_row($result))
  89. {
  90. $return.= 'INSERT INTO '.$table.' VALUES(';
  91. for($j=0; $j < $num_fields; $j++)
  92. {
  93. $row[$j] = addslashes($row[$j]);
  94. if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
  95. if ($j < ($num_fields-1)) { $return.= ','; }
  96. }
  97. $return.= ");n";
  98. }
  99. }
  100. $return.="nnn";
  101. }
  102. //save file
  103. $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
  104. fwrite($handle, $return);
  105. fclose($handle);
  106. echo "bkp efetuado com sucesso";//Sucessfuly message
  107. }
  108. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement