I T/Linux
mysql db 동기화 쉘 스크립트
루솨
2015. 8. 30. 16:09
# vim /etc/cron.backup/mysql_data.sh 식으로 스크립트 만들기
#!/bin/bash
mysqlpw=db패스워드
mysqldb=db명
datadir=/home/(해당유져)/mysql_data
rm -f $datadir/$mysqldb.sql
mysqldump -u root -p$mysqlpw -h xxx.xxx.xxx.xxx $mysqldb > $datadir/$mysqldb.sql
yes | mysqladmin -u root -p$mysqlpw drop $mysqldb >> /dev/null
mysqladmin -u root -p$mysqlpw create $mysqldb
mysql -uroot -p$mysqlpw $mysqldb < $datadir/$mysqldb.sql
/etc/init.d/mysqld restart
crontab 에 등록하여 30분마다 동기화 진행되도록 설정
( * /etc/cron.backup/mysql_data.sh 스크립트 및 /etc/crontab 설정 참고 )
# vim /etc/crontab
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
1,31 * * * * root run-parts /etc/cron.backup ?>추가
스크립트 상의 아이피 입력 부분에 서로 다른 아이피 입력 부분에 서로 다른 아이피 입력 후 양쪽 서버에다가 적용
* /home/(해당유져)/mysql_data 디렉토리는 DB동기화시에 이용하는 디렉토리 입니다.