Home  >  Article  >  Database  >  Linux下的MySQL自动备份脚本-第一版

Linux下的MySQL自动备份脚本-第一版

WBOY
WBOYOriginal
2016-06-07 17:06:311124browse

写了个Linux下的MySQL备份脚本 这是第一版,只支持备份一个数据库,每天晚上2点用定时器把这个脚本跑一下就自动备份好了。后续会

写了个Linux下的MySQL备份脚本 这是第一版,只支持备份一个数据库,每天晚上2点用定时器把这个脚本跑一下就自动备份好了。后续会做可支持备份多个数据库,备份失败短信发送到手机,自动清除过期备份。

Linux下的MySQL自动备份脚本-第二版 见

  • #!/bin/bash
  • #Script:backup_mysql
  • #Version:Release 1.0
  • #author:
  • #date:2011-10-26

  • backup_time=`date +%Y%m%d%H%M`  #定义备份详细时间
  • backup_Ymd=`date +%Y%m%d` #定义备份目录中的年月日时间
  • backup_7ago=`date -d '7 days ago' +%Y%m%d` #七天之前的日期
  • backup_dir=/backup/mysql/$backup_Ymd  #备份文件夹全路径
  • backup_database="dba-china" #要备份的数据库名称
  • mysql_user="root"
  • mysql_password="root"
  • #mysql_host="localhost"
  • #mysql_port="3306"

  • #判断MYSQL是否启动,mysql没有启动则备份退出
  • mysql_ps=`ps -ef |grep mysql |wc -l`
  • mysql_listen=`netstat -an |grep LISTEN |grep $mysql_port|wc -l`
  • if [ [$mysql_ps == 0] -o [$mysql_listen == 0] ]; then
  •         echo "ERROR:MySQL is not running! backup stop!"
  •         exit;
  • else
  •         echo "MySQL running ok!"
  • fi

  • #连接到mysql数据库,无法连接则备份退出
  • mysql -u$mysql_user -p$mysql_password
  • use mysql;
  • select host,user from user where user='root' and host='localhost';
  • exit
  • end

  • flag=`echo $?`
  • if [ $flag != "0" ]; then
  •         echo "error:Can't connect mysql server! backup stoped!"
  •         exit;
  • else
  •         echo "MySQL connect ok! Backup start......"
  •         #db=`echo $backup_database |cut -d ',' -f1`
  •         db=$backup_database       
  •         if [ $db == '' ];then
  •                 echo "ERROR:no database to backup!"
  •         else
  •                 echo "database $db backup start..."
  •                 `mkdir -p $backup_dir`
  •                 `mysqldump -u$mysql_user -p$mysql_password $db > $backup_dir/$db$backup_time.sql`
  •                 echo "database $db backup success!"
  •         fi

  • fi
  • linux

    Statement:
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn