28 lines
		
	
	
		
			688 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			688 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
export DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 | 
						|
CONFIG_FILE=$DIR/_config.sh
 | 
						|
[[ ! -r "${CONFIG_FILE}" ]] && { echo "Could not read ${CONFIG_FILE}!"; exit 1; }
 | 
						|
set -a
 | 
						|
. "${CONFIG_FILE}"
 | 
						|
set +a
 | 
						|
 | 
						|
for i in ${databases[@]}
 | 
						|
do
 | 
						|
    REMOTE_SQL=$REMOTE_SQL' USE '$i'; FLUSH TABLES WITH READ LOCK;'
 | 
						|
done
 | 
						|
 | 
						|
REMOTE_SQL=$REMOTE_SQL' system ./readbinlog.sh;'
 | 
						|
 | 
						|
REMOTE_SQL=$REMOTE_SQL' system ./dump.sh;'
 | 
						|
 | 
						|
for i in ${databases[@]}
 | 
						|
do
 | 
						|
    REMOTE_SQL=$REMOTE_SQL' USE '$i'; UNLOCK TABLES;'
 | 
						|
done
 | 
						|
 | 
						|
echo "Start execution all commands on remote server" > $log_file
 | 
						|
 | 
						|
mysql --defaults-extra-file=./.remote.my.cnf -e "$REMOTE_SQL"
 | 
						|
 | 
						|
mysql --defaults-extra-file=./.my.cnf -e "START SLAVE;"
 |