databases/scripts
2017-03-29 14:14:18 +02:00
..
dbBackup.php Add database scripts 2017-03-29 14:14:18 +02:00
dbImport.php Add database scripts 2017-03-29 14:14:18 +02:00
dbSchema.php Add database scripts 2017-03-29 14:14:18 +02:00
dbSlaveCheck.php Add database scripts 2017-03-29 14:14:18 +02:00
pDump.py Add database scripts 2017-03-29 14:14:18 +02:00
pImport.py Add database scripts 2017-03-29 14:14:18 +02:00
README Add database scripts 2017-03-29 14:14:18 +02:00

Backup and Restore Database
---------------------------

dbSchema.php
============
Get schema

dbDump.php
==========
Simple dump 

dbBackup.php
============

SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'database'
SHOW TABLE STATUS LIKE 'table';

Backup big table.
A backup is a dir name as TYPE-YYYY.MM.DD.HHMMSS, with sql file fo each table (dbname.tablename.sql).
The backup are first place in a process dir which you can define outside the dir where you keep all you backup.
e.g to make an rsync only on the complete backup.

--type TYPE
[--config FILENAME]
	Filename must be in th same dir of this script

Create an array to define backup options in a file

return array(
	'mysql' => array(
		'host' 		=> "127.0.0.1",
		'port'		=> 3306,
		'user' 		=> "user",
		'pass' 		=> "password",
		// --- If the server is a master else a slave
		'master' 	=> 1,
		'options' 	=> "--quick --add-drop-table", ou "--opt"
		// --- Method to compress : none, gzip, bzip2, pigz, 7zx, xz
		'compress' 	=> "gzip",
		// --- backup dir
		'dir' 		=> "/backup/keep",	
		// --- Number of backup to keep
		'max' 		=> 3,
		// --- In process dir
		'processdir' => "/backup/inprocess"
	),
	'backup type/name' => array(
		/* List database to backup - always include a db to list tables */
		'db' => array(...),
		/** 
		Rules to include or exclude database and table by name (preg_match)
			db\.table
			*\.*_tmp
			*\.*_old
			*\.*_mvt
			*\.*_backup
			*\.*_histo
			*\.*_table
			*_.*_user
			*\.*_[0-9]{8}
			*\.*_v[0-9]{1,}
		*/	
		'rules' => array(
			'in' => array(),
			'ex' => array(),
		),
	),
),	

dbImport.php
============

Import or Restore a backup.
To import in parallel, cut in several type and/or database

--name DIRNAME
	which backup TYPE-YYYY.MM.DD.HHMMSS
[--type TYPE]
	Specify a type to follow rules define	
[--db name]
	Restore only this database
[--config filename]
	Filename must be in th same dir of this script

Create an array to define restore options in a file

return array(
	'mysql' => array(
		'host' 		=> "127.0.0.1",
		'port'		=> 3306,
		'user' 		=> "user",
		'pass' 		=> "password",
		'options' 	=> "",
		// --- Method to compress : gzip, bzip2, pigz, 7zx
		'compress' 	=> "gzip",
		// --- backup dir
		'dir' 		=> "/backup",
	),
	'backup type/name' => array(
		/* List database to restore */
		'db' => array(...),
		/** 
		Rules to include or exclude table by his name 
			*.*_tmp
			*.*_old
			*.*_mvt
			*.*_backup
			*.*_histo
			*.*_table
			*.*_user
			*.*_[0-9]{8}
			*.*_v[0-9]{1,}
		*/	
		'rules' => array(
			'in' => array(),
			'ex' => array(),
		),
	),
),