Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1761797
  • 博文数量: 234
  • 博客积分: 4966
  • 博客等级: 上校
  • 技术积分: 3322
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-13 01:03
文章分类

全部博文(234)

文章存档

2017年(2)

2016年(1)

2015年(8)

2014年(11)

2013年(44)

2012年(27)

2011年(22)

2010年(30)

2009年(37)

2008年(6)

2007年(45)

2006年(1)

分类: LINUX

2009-07-09 16:17:47

#!/bin/sh
# Name:mysqlbackup.sh
# PS:MySQL DataBase Backup,Use mysqlhotcopy script.
# Last Modify:2008-06-12
# 定义变量,请根据具体情况修改
# 定义脚本所在目录
scriptsDir=`pwd`
# 数据库的数据目录
dataDir=/var/lib/mysql
# 数据备份目录
tmpBackupDir=/tmp/mysqlblackup
backupDir=/Software/backup/mysql
# 用来备份数据库的用户名和密码
mysqlUser=root
mysqlPWD=820411
# 如果临时备份目录存在,清空它,如果不存在则创建它
if [[ -e $tmpBackupDir ]]; then
rm -rf $tmpBackupDir/*
else
mkdir $tmpBackupDir
fi
# 如果备份目录不存在则创建它
if [[ ! -e $backupDir ]];then
mkdir $backupDir
fi
# 得到数据库备份列表,在此可以过滤不想备份的数据库
for databases in `ls -p /var/lib/mysql | grep / | tr -d / | \
sed -e "s/test//"`
do
# 备份数据库
/usr/bin/mysqlhotcopy --user=$mysqlUser --password=$mysqlPWD -q "$databases" $tmpBackupDir
dateTime=`date "+%Y.%m.%d %H:%M:%S"`
echo "$dateTime Database:$databases backup success!" >>$backupDir/MySQLBackup.log
done
# 压缩备份文件
date=`date -I`
cd $tmpBackupDir
tar czf $backupDir/mysql-$date.tar.gz ./
#备份完成
cd $backupDir
find ./ -atime +7 | xargs rm -rf {}
#删除创建时间超过7天的文件
rm -fr $tmpBackupDir
#清除临时文件夹

之后可将此脚本加入计划任务,每天凌晨运行
crontab -e root
* 0 * * * sh /Software/shell/mysqlback.sh
阅读(1084) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~