如何根据mysql的数据增长量定期做备份呢?Perl、shell均可


比如每周的周日晚上检查数据库数据增长情况,超过20%时就进行备份

perl shell mysql

痛觉残留.s 12 years, 1 month ago

1、把以下shell代码保存为backup_mysql

   
  #!/bin/sh
  
# Use mysqldump --help get more detail.
#
# 定义变量,请根据具体情况修改
# 定义脚本目录
scriptsDir=`pwd`

# 定义用于备份数据库的用户名和密码
user=root
userPWD=123456

# 定义备份数据库名称
dbNames=(database1 database2 database3)

# 定义备份目录
dataBackupDir=/home/test/backup

# DATE=`date -I`
DATE=`date -d "now" +%Y%m%d`

echo `date -d "now" "+%Y-%m-%d %H:%M:%S"` > $eMailFile

for dbName in ${dbNames[*]}
do
# 定义备份文件名
dumpFile=$dataBackupDir/db/$dbName-$DATE.sql.gz

# 使用mysqldump备份数据库,请根据具体情况设置参数
mysqldump -u$user -p$userPWD $dbName | gzip > $dumpFile
done

2、在crontab里加入以下脚本
00 00 * * 0 /home/test/backup_mysql.sh

这里只有简单的备份功能,还可以加入备份日志、发送邮件、发送备份失败短信等与备份有关的功能

闪光D西格玛 answered 12 years, 1 month ago

Your Answer