码迷,mamicode.com
首页 > 数据库 > 详细

mysql数据库备份脚本

时间:2016-07-21 20:13:02      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:备份   mysql   mysql备份   mysqldump   

备份mysql数据库脚本。

手动创建目录/var/backups/mysqldata   也可以自定义,只需修改变量backup_dir的值即可。

#!/bin/bash
#mysql备份脚本
database=test001
mysql_user=root
mysql_password=123.com
backup_dir=/var/backups/mysqldata
name=`date "+%Y_%m_%d"`
 for i in $database
  do
   [ -d ${backup_dir}/${i} ] || mkdir ${backup_dir}/${i}/
   mysqldump -u$mysql_user -p$mysql_password --database $i > ${backup_dir}/${i}/${i}_${name}.sql
   file_n=`ls ${backup_dir}/${i}/ | wc -l`
   rm_file=`ls -l ${backup_dir}/${i}/ | head -2 | tail -1 | awk ‘{print $9}‘`
if [ $file_n -gt 3 ]
 then
  rm -f ${backup_dir}/${i}/$rm_file
fi
  done


#!/bin/bash

#mysql备份脚本

database=test001           #定义要备份的数据库,以空格隔开

mysql_user=root            #定义备份数据库使用的用户

mysql_password=123.com        #定义用户密码

backup_dir=/var/backups/mysqldata  #定义备份到的目录

name=`date "+%Y_%m_%d"`        #定义备份名称后缀,这里以时间为后缀


 for i in $database        

  do

   [ -d ${backup_dir}/${i} ] || mkdir ${backup_dir}/${i}/    

#判断是否有数据库同名目录,若没有则创建一个

   mysqldump -u$mysql_user -p$mysql_password --database $i > ${backup_dir}/${i}/${i}_${name}.sql

#使用mysqldump对数据库进行备份

   file_n=`ls ${backup_dir}/${i}/ | wc -l`

#查看一个备份目录下文件个数

   rm_file=`ls -l ${backup_dir}/${i}/ | head -2 | tail -1 | awk ‘{print $9}‘`

#查看备份目录下第一个文件名,我这里查看的是第二行,因为使用ls -l的话,第一行显示的目录详情

if [ $file_n -gt 30 ]

#判断如果一个备份目录中的备份文件数是否大于30个

 then

  rm -f ${backup_dir}/${i}/$rm_file

#如果文件数大于30个的话,则删除第一个文件,可以理解为最多保留三十天的备份文件

fi

  done


在crontab中写入计划任务,每天执行一次脚本即可。

本文出自 “西门吹牛” 博客,请务必保留此出处http://taixin.blog.51cto.com/11725086/1828377

mysql数据库备份脚本

标签:备份   mysql   mysql备份   mysqldump   

原文地址:http://taixin.blog.51cto.com/11725086/1828377

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!