国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

如何才能實現(xiàn)MySQL的自動備份

2024-07-24 12:54:42
字體:
供稿:網(wǎng)友
mysql自動備份是非常關(guān)鍵的,特別是對于dba來說。這里主要用代碼來說明這個問題,希望對各位有所幫助。可以將這個腳本放進(jìn)crontab,每天凌晨執(zhí)行一次,自動備份。

這個腳本每天最多只執(zhí)行一次,而且只保留最近五天的備份在服務(wù)器上。

代碼:

#!/bin/bash
#this is a shellscript for auto db backup
#powered by aspbiz
#2004-09

#setting
#設(shè)置數(shù)據(jù)庫名,數(shù)據(jù)庫登錄名,密碼,備份路徑,日志路徑,數(shù)據(jù)文件位置,以及備份方式
#默認(rèn)情況下備份方式是tar,還可以是mysqldump,mysqldotcopy
#默認(rèn)情況下,用root(空)登錄mysql數(shù)據(jù)庫,備份至/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 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 澎湖县| 弋阳县| 乌兰察布市| 麻城市| 陆良县| 巍山| 巫山县| 泸水县| 始兴县| 定兴县| 花垣县| 安化县| 宜黄县| 长子县| 遂平县| 和顺县| 广州市| 永登县| 奉贤区| 蒙山县| 丰原市| 仙居县| 炉霍县| 肇州县| 闽侯县| 宿迁市| 蚌埠市| 安溪县| 玉屏| 平安县| 夏河县| 宜春市| 大名县| 德庆县| 依兰县| 遂平县| 贞丰县| 石棉县| 西昌市| 洮南市| 前郭尔|