Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4172068
  • 博文数量: 240
  • 博客积分: 11504
  • 博客等级: 上将
  • 技术积分: 4277
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-28 14:24
文章分类

全部博文(240)

分类: Mysql/postgreSQL

2008-09-16 07:55:19


原理同样是利用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"

阅读(7494) | 评论(8) | 转发(0) |
给主人留下些什么吧!~~

yueliangdao06082008-10-05 08:27:01

不好意思,笔误!

chinaunix网友2008-10-04 22:47:36

You own 是不是应该 用 Your own

chinaunix网友2008-09-17 22:51:38

能不能提供Windows 下的呀