domingo, 18 de setembro de 2011

POSTGRESQL - Restaurando backup "pg_restore com PHP"

Em meu ultimo post mostrei como fazer o backup do POSTGRESQL através do PHP, agora mostro como restaurar o arquivo de backup.


	$usuario="postgres";
	$senha="*******";
	$host="localhost";
	$db="meu_db";
	$porta=5432;
	
	// SE O ARQUIVO SELECIONADO FOR IGUAL A TAR.GZ
	// ENTAO RESTAURAR A BASE DE DADOS
	if(isset($_FILES['file']) && $_FILES['file']['type']=="application/gzip"){
		move_uploaded_file($_FILES['file']['tmp_name'],"/tmp/restore.tar.gz");
		shell_exec("tar -zxf adm/files/restore.tar.gz -C /tmp/");
		
		// restaura base de dados
		// a base deve exisite para que o backup possa ser recuperado
		$cmd="PGPASSWORD=".$senha." pg_restore -U ".$usuario." -p ".$porta." -h ".$host. " -c /tmp/meu_db.sql -d ".$db;
		shell_exec($cmd);
	}
Esse script foi testado em ambiente LINUX UBUNTU 10.04. Caso tenha alguma duvida é só posta-lá que tentaremos ajudar. Até a próxima.

Nenhum comentário:

Postar um comentário