備份msyql腳本

# cat dbback.sh mysql

#!/bin/bash linux

#This mysql backup script for  dailysql

#environment:linux數據庫

#定義要備份的數據庫名bash

dbname=testide

#定義備份數據庫時使用的用戶名和密碼函數

dbuser=root日誌

dbpasswd=123456ip

dbhost=localhostit

#數據庫備份的路徑

backuppath=/opt/dbbak/

#數據庫備份日誌文件存儲的路徑

logfile=/opt/dbbak/db.log

#以當前的時間做爲備份的數據庫命名。

dumpfile=${dbname}$(date +%y%m%d%H%M)

#這個函數用來備份數據庫

back_db()

{

   #將備份的時間、數據庫名存入日誌

   echo $(date +%y%m%d%H%M)" Beginning database "${dbname}" backup-----------------------------------" >>${logfile}

  #備份數據庫,若是有錯誤信息也記入日誌。

  mysqldump -h${dbhost} -u${dbuser} --default-character-set=utf8 -p${dbpasswd} ${dbname} >${backuppath}${dumpfile}.sql 2>> ${logfile}

  #將備份數據庫文件庫壓成ZIP文件,並刪除先前的SQL文件。若是有錯誤信息也記入日誌。

  tar zcvf ${dumpfile}.tar.gz ${dumpfile}.sql && rm ${dumpfile}.sql 2>> ${logfile}

  #將壓縮後的文件名存入日誌。

  echo "backup file name:"$(date +%y%m%d%H%M)".tar.gz" >>${logfile}

  echo -e "------------------------------\n" >>${logfile}

}

#這個函數用來刪除七天前的數據,注意,這個腳本會刪除當前目錄下全部的早於七天前的文件,若是把目錄搞錯了。。。。。。。。。

#rm_oldfile()

#{

#  #查找出當前目錄下七天前生成的文件,並將之刪除

#  find ./ -type f -mtime +7 -exec rm {} \;

#}

#

#切換到數據庫備份的目錄。若是不作這個操做,壓縮文件時有可能會錯誤

cd ${backuppath}

#運行備份數據函數

back_db

#運行刪除文件函數

#rm_oldfile

相關文章
相關標籤/搜索