大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 数据库 -> MySQL -> 一个Mysql自动备份脚本

一个Mysql自动备份脚本

时间: 2021-08-13 作者:daque

不妨将这个剧本放进crontab,每天零辰实行一次,机动备份这个剧本每天最多只实行一次,并且只保持迩来五天的备份在效劳器上。  代码:  #!/bin/bash  #this is a shellscript for auto db backup  #powered by aspbiz  #2004-09  #setting  #树立数据库名,数据库登录名,暗号,备份路途,日记路途,数据文献场所,以及备份办法  #默许情景下备份办法是tar,还不妨是mysqldump,mysqldotcopy  #默许情景下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz  dbname=mysql  dbuser=root  dbpasswd=  backuppath=/root/  logfile=/root/db.log  dbpath=/var/lib/mysql/  #backupmethod=mysqldump  #backupmethod=mysqlhotcopy  #backupmethod=tar  #setting end  newfile="$backuppath"db$(date +%y%m%d).tgz  dumpfile="$backuppath"db$(date +%y%m%d)  oldfile="$backuppath"db$(date +%y%m%d --date=’5 days ago’).tgz  echo "-------------------------------------------" >> $logfile  echo $(date +"%y-%m-%d %h:%m:%s") >> $logfile  echo "--------------------------" >> $logfile  #delete old file  if [ -f $oldfile ]  then     rm -f $oldfile >> $logfile 2>&1     echo "[$oldfile]delete old file success!" >> $logfile  else     echo "[$oldfile]no old backup file!" >> $logfile  fi  if [ -f $newfile ]  then     echo "[$newfile]the backup file is exists,can’t backup!" >> $logfile  else     case $backupmethod in     mysqldump)        if [ -z $dbpasswd ]        then           mysqldump -u $dbuser --opt $dbname > $dumpfile        else           mysqldump -u $dbuser -p$dbpasswd --opt $dbname > $dumpfile        fi        tar czvf $newfile $dumpfile >> $logfile 2>&1        echo "[$newfile]backup success!" >> $logfile        rm -rf $dumpfile        ;;     mysqlhotcopy)        rm -rf $dumpfile        mkdir $dumpfile        if [ -z $dbpasswd ]        then           mysqlhotcopy -u $dbuser $dbname $dumpfile >> $logfile 2>&1        else           mysqlhotcopy -u $dbuser -p $dbpasswd $dbname $dumpfile >>$logfile 2>&1        fi        tar czvf $newfile $dumpfile >> $logfile 2>&1        echo "[$newfile]backup success!" >> $logfile        rm -rf $dumpfile        ;;     *)        /etc/init.d/mysqld stop >/dev/null 2>&1        tar czvf $newfile $dbpath$dbname >> $logfile 2>&1        /etc/init.d/mysqld start >/dev/null 2>&1        echo "[$newfile]backup success!" >> $logfile        ;;     esac  fi  echo "-------------------------------------------" >> $logfile  

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.