bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

利用腳本應該如何備份Mysql數據庫和binlog日志

下面一起來了解下利用腳本應該如何備份MySQL數據庫和binlog日志,相信大家看完肯定會受益匪淺,文字在精不在多,希望利用腳本應該如何備份Mysql數據庫和binlog日志這篇短內容是你想要的。

創新互聯是一家專業從事成都網站設計、成都做網站、外貿網站建設、網頁設計的品牌網絡公司。如今是成都地區具影響力的網站設計公司,作為專業的成都網站建設公司,創新互聯依托強大的技術實力、以及多年的網站運營經驗,為您提供專業的成都網站建設、營銷型網站建設及網站設計開發服務!

閑話少說,直接上腳本

首先是為mysql做指定庫文件的全庫備份

vim mysqlbak.sh

#!/bin/bash

#定義數據庫目錄,要能找到mysqldump

mysqlDir=/usr

#定義用于備份數據庫的用戶名和密碼

user=root

userpwd=123456

dbname=db1

#定義備份目錄

databackupdir=/mysqlbak

#定義郵件正文文件

emailfile=$databackupdir/email.txt

#定義郵件地址

email=www@163.com

#定義備份日志文件

logfile=$databackupdir/mysqlbackup.log

#DATE=`date +%Y%m%d`

DATE=`date -I`

echo "" > $emailfile

echo $( date +"%Y-%m-%d %H:%M:%S" ) >> $emailfile

cd $databackupdir

#定義備份文件名

dumpfile=mysql_$DATE.sql

gzdumpfile=mysql_$DATE.sql.tar.gz

#使用mysqldump備份數據庫,--flush-logs 產生一個新日志

$mysqlDir/bin/mysqldump -u$user -p$userpwd --flush-logs -x $dbname > $dumpfile

#壓縮備份文件

if [ "$?" == 0 ];then

    #把備份出來的文件進行壓縮,壓縮的結果保存在郵件內容中

   tar zcvf $gzdumpfile $dumpfile >> $emailfile 2>&1

   echo "BackupFileName: $gzdumpfile" >> $emailfile

   echo "DataBase Backup Success!" >> $emailfile

    #刪除壓縮前的sql文件

   rm -rf $dumpfile

else

   echo "Database Backup Fail!" >> $emailfile

fi

#寫日志文件

echo "-------------------------------------------------" >> $logfile

cat $emailfile >> $logfile

#發送郵件通知

cat $emailfile| mail -s "Mysql Backup" $email

以上腳本執行后會在備份目錄中產生一個tar.gz的文件,此文件為全庫備份文件,備份成功后給指定的郵箱地址發送郵件,收件內容為截圖內容為備份成功!

利用腳本應該如何備份Mysql數據庫和binlog日志

接下來是binlog日志的備份腳本

vim binlogbak.sh

#!/bin/bash

#定義數據庫目錄和數據目錄

mysqldir=/usr/local/mysql

datadir=$mysqldir/binlog

#定義用于備份數據庫的用戶名和密碼

user=root

userpwd=123456

#定義備份目錄

databackupdir=/mysqlbak

logbackupdir=$databackupdir/logs

#定義郵件正文文件

emailfile=$databackupdir/email.txt

#定義郵件地址

email=www@163.com

#定義備份日志文件

logfile=$databackupdir/mysqlbackup.log

#DATE=`date +%Y%m%d`

echo "" > $emailfile 

echo $( date +"%Y-%m-%d %H:%M:%S" ) >> $emailfile

#刷新日志,使數據庫使用新的二進制日志文件

/usr/bin/mysqladmin -u$user -p$userpwd flush-logs

cd $datadir

#得到二進制日志列表

filelist=`cat mysql_binlog.index`

icounter=0

for file in $filelist

do

    #需要注意的是符號和兩個操作項之間的空格畢不可少,下面也是一樣

  icounter=`expr $icounter + 1`

done

nextnum=0

ifile=0

for file in $filelist

do

binlogname=$file

nextnum=`expr $nextnum + 1`

#跳過最后一個二進制日志 (數據庫當前使用的二進制日志文件)

if [ $nextnum -eq $icounter ];then

   echo "Skip lastest!" > /dev/null

else

   dest=$logbackupdir/$binlogname

#跳過已經備份的二進制日志文件

if [ -e $dest ];then

   echo "Skip exist $binlogname!" > /dev/null

else

#備份日志文件到備份目錄

cp $binlogname $logbackupdir

if [ "$?" == 0 ];then

ifile=`expr $ifile + 1`

echo "$binlogname Backup Success!" >> $emailfile

    fi

     fi

fi

done

if [ $ifile -eq 0 ];then

   echo "No Binlog Backup!" >> $emailfile

else 

   echo "Backup $ifile File(s)." >> $emailfile

   echo "Backup MySQL Binlog OK!" >> $emailfile

fi

#寫日志文件

echo "-------------------------------------------------" >> $logfile

cat $emailfile >> $logfile

#發送郵件通知

cat $emailfile| mail -s "Mysql Backup" $email

以上腳本執行后會在備份目錄中產生多個沒備份過的binlog日志,文件每日是前一天的增量備份文件,備份成功后給指定的郵箱地址發送郵件,收件內容為截圖內容為備份成功!

利用腳本應該如何備份Mysql數據庫和binlog日志

編寫計劃任務自動執行,每周1,3,24點全庫備份,每天夜里1點日志備份

crontab -e

0 00 * * 1,3 /mysqlbak.sh

0 1 * * * /binlogbak.sh

看完利用腳本應該如何備份Mysql數據庫和binlog日志這篇文章后,很多讀者朋友肯定會想要了解更多的相關內容,如需獲取更多的行業信息,可以關注我們的行業資訊欄目。

當前名稱:利用腳本應該如何備份Mysql數據庫和binlog日志
URL鏈接:http://vcdvsql.cn/article40/iihdho.html

成都網站建設公司_創新互聯,為您提供定制開發移動網站建設外貿網站建設品牌網站設計外貿建站商城網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司