Backup com php, usando mysql_dump
Publicado por CalRaiden© 19/02/2009
[ Hits: 11.206 ]
Homepage: www.calraiden.com.br
Estava procurando um bom script para realizar um backup via php no mysql através do mysql_dump. E como encontrei bastante dificuldade, acabei montando um próprio com bases nos scripts que encontrei.
A única restrição que faria no seu uso, seria sobre "Allowed memory", se o banco for muito grande, é bem provável que esse erro seja mostrado e precise alterar o php.ini.
O script foi projetado para rodar via linha de comando, mas pode ser via navegador, o que não recomendaria.
#!/usr/bin/php -q <?php /** * Calraiden * @author Claudionor S. * @category Backup Mysql * @package calraiden * @copyright Copyright (c) 2002-2009 Calraiden. (http://wwwexe.inf.ufsc.br/~claudionor or www.calraiden.com.br) * @license GPL * @version $Id: mysqldump.php 7 2008-12-16 10:58:39Z Claudionor S. $ */ /*Definindo váriveis que serão usada durante execução do script*/ $host = "localhost";//host/endereço do banco $user = "root";//usuário acesso $password = "";//password do usuário $dir_temp = "/tmp";//diretório temporário $dir_backup = "/home/zeca";//diretório que irá guardar os backups $database = null;//especificando uma base para backup /*Pegando data atual que será usada no final dos arquivos (year month day hour minute seconds )*/ $date = date("YmdYHis"); /*INICIANDO SCRIPT*/ /*Conectando*/ $mycon = mysql_connect($host,$user,$password); if(empty($database))//Caso não tenha sido especificado uma base, selecionar todas { /*Selecionando todas as bases existentes*/ $sql = "SHOW DATABASES"; $databases = mysql_query($sql,$mycon) or die .mysql_error(); /*Caso tenha existar bases, Inicnando loop*/ if($databases){ while($row = mysql_fetch_array($databases)){ /*Nome do banco*/ $name = $row[0]; /*Nome do arquivo que será gerado*/ $filename = "{$name}_{$date}"; /*Montando comando*/ $mysqldump = createSQL($host,$user,$password,$name,$dir_temp,$filename); /*Executando comando*/ execute($mysqldump); } } }else { //backup somente de um banco /*Nome do arquivo que será gerado*/ $filename = "{$database}_{$date}"; /*Montando comando*/ $mysqldump = createSQL($host,$user,$password,$database,$dir_temp,$filename); /*Executando comando*/ execute($mysqldump); } /*Nome do arquivo de backup*/ $file = "bkp_mysql_{$date}"; /*Comando compactar arquivo no linux*/ $tar = "tar -cvzf $dir_backup/$file.tar.gz {$dir_temp}/*.sql"; /*Executando comando*/ execute($tar); /*Comando remover arquivos temporarios*/ /*WARNING: Esse comando pode causar danos no seu sistema operacional. Remove (unlink) the FILE(s). -f, --force ignore nonexistent files, never prompt --version output version information and exit --preserve-root do not remove ‘/’ (default) */ $rm = "rm -fv --preserve-root {$dir_temp}/*.sql"; execute($rm); /** * Apenas montar o comando mysql_dump * * @param String $host, O servidor MySQL * @param String $user, O nome de usuário * @param String $password, A senha * @param String $name, nome do banco que será feito o backup * @param String $dir_temp, caminho diretório temporário que será salvo o arquivo * @param String $filename, nome do arquivo que será criado * @return String $cmd, comando montando para ser executado */ function createSQL($host,$user,$password,$name,$dir_temp,$filename) { return $mysqldump = "mysqldump --host={$host} --user={$user} --password={$password} --databases {$name} > {$dir_temp}/{$filename}.sql"; } /** * Executa um comando via shell, caso não consigar executar o comando parar o script * @param String $command, O comando que será executado */ function execute($command) { if(!shell_exec($command))//error, parar script exit; else//success, exibir comando echo "{$command}\n"; } ?>
Automatizar a recuperação de dados de uma linha de resultado do Mysql
Conversor de datas para banco de dados
Classe de conexão com banco de dados PostGreSQL [golfinho/Elefante]
Nenhum comentário foi encontrado.
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Debian 12 - IPTABLES - removendo NFTABLES
OverWatch 2 - Abrindo portas do jogo no Iptables.
Como instalar o adaptador wifi USB Intelbras ACtion A1200 no Linux Mint
Como normalizar seus arquivos MP3 para que fiquem no mesmo volume
LibreOffice alterar nomenclatura do ícone (15)
Como Incorporar o Áudio no Executável ? (2)
O que você está ouvindo agora? [2] (130)
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba
[Shell Script] Tire screenshots com Scrot facilmente com Zscrot
[Shell Script] DioPSI - Script multidistro para instalar programas
[Shell Script] ARS Vídeos - Cortador de vídeos e webcam shooter