- 论坛徽章:
- 0
|
原理同样是利用MySQL的二进制日志,我写了很详细的注释。
有什么问题或者建议的可以给我EMAIL.
#!/bin/sh## Created by david yeung at 2008-09-16## File name:backup_increment## Backup mysql's increment data after daily backup.## Usage:# If you database name is t_girl and you want to backup from 2008-09-16 08:13:26.# ./backup_increment t_girl 20080916081326## You can simple put this file into crontab in order to work automatically.## Put your own database name here.
DBNAME=$1
# You own specific datatime.# For example,2008-09-16 08:13:26 should be replaced with 20080916081326 here.#
USERDATETIME=$2
# You own backup directory.
BACKUPDIR=/home/david_yeung/backup_db
# You own backup user.# He must have lock tables,select,super privileges.# Also replication client privileges if your mysqld was set up as Master/Slave.
USERNAME=backup_user
PASSWD=123456
# Socket path.
SOCKET=/tmp/mysql_3306.sock
# All the binary logs.
LOG=/usr/local/mysql/data/ytt-bin.[0-9]*
# Backup file name.
TARNAME="$BACKUPDIR"/incrementbackup"$1""$2"
# Copy all the binary logs here to prevent failed backup.
cp -rf `echo $LOG` /home/david_yeung/logs
# Change the current directory.#
If you have aready put mysql into your environment variable named
path,you can comment this line and use simple mysql instead of
/bin/mysql.#
cd /usr/local/mysql
bin/mysql -u$USERNAME -p"$PASSWD" -S$SOCKET -e "purge master logs before ${USERDATETIME}"
bin/mysqlbinlog -u$USERNAME -p"$PASSWD" -S$SOCKET -d$DBNAME `echo $LOG` --start-datetime="$USERDATETIME"> "$TARNAME"
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/73684/showart_1194495.html |
|