- 论坛徽章:
- 0
|
#!/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/mysqlblackupbackupDir=/Software/backup/mysql# 用来备份数据库的用户名和密码mysqlUser=rootmysqlPWD=820411# 如果临时备份目录存在,清空它,如果不存在则创建它if [[ -e $tmpBackupDir ]]; thenrm -rf $tmpBackupDir/*elsemkdir $tmpBackupDirfi# 如果备份目录不存在则创建它if [[ ! -e $backupDir ]];thenmkdir $backupDirfi# 得到数据库备份列表,在此可以过滤不想备份的数据库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" $tmpBackupDirdateTime=`date "+%Y.%m.%d %H:%M:%S"`echo "$dateTime Database:$databases backup success!" >>$backupDir/MySQLBackup.logdone# 压缩备份文件date=`date -I"`cd $tmpBackupDirtar czf $backupDir/mysql-$date.tar.gz ./#备份完成find ./ -atime +7 | xargs rm -rf {}#删除创建时间超过7天的文件
之后可将此脚本加入计划任务,每天凌晨运行crontab -e root* 0 * * * sh /Software/shell/mysqlback.sh
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/26299/showart_1990838.html |
|