mysql備份與恢復方案_第1頁
mysql備份與恢復方案_第2頁
mysql備份與恢復方案_第3頁
mysql備份與恢復方案_第4頁
mysql備份與恢復方案_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

44#!/bin/shdbuser="root"dbpasswd="123456"##!/bin/shdbuser="root"dbpasswd="123456"#定義數(shù)據(jù)庫密碼服務器備份方案、MYSQL數(shù)據(jù)庫備份與恢復:數(shù)據(jù)庫本地備份:當數(shù)據(jù)量少的時候可以在每天凌晨1點-3點進行完全備份,隨著數(shù)據(jù)庫的增大,可以2兩小時(按照需求設(shè)置時間)做增量備份與完全備份相結(jié)合的備份方式以確保數(shù)據(jù)的安全。數(shù)據(jù)庫完全備份腳本:1.確定我們備份文件存放的目錄這里我把所有備份文件放到/home/mysqlback2.確定需要備份的數(shù)據(jù)庫,這里我們用備份dtest這個數(shù)據(jù)庫來說明。3.確定我們要備份的時間,我們以每天兩小時備份一次做說明。#!/bin/shdbuser="root"dbpasswd="123456"dbname="dtest"date1='date+%Y%m%d'date2='date+%Y%m%d%H%M%S'date3='date-d-5day+"%Y%m%d"'back="/home/mysqlback/$date1"if[!-d$back]thenmkdir-p$backfimysqldump-u$dbuser-p$dbpasswd$dbname|gzip>$back/$dbname$date2.sql.gzcd/home/mysqlbackrm-rf$date3#shell腳本dbname="d_testII#定義需要備份的數(shù)據(jù)庫#dbname="d_testII#定義需要備份的數(shù)據(jù)庫date1='date+%Y%m%d'#讀取當前日期date2='date+%Y%m%d%H%M%S'#讀取當前的日期時間Y年m月d日H小時M分鐘S秒date3='date-d-5day+"%Y%m%d"'#讀取當天日期之5天前的日期back=/home/mysqlback/$date1#備份文件存放目錄#判斷是不是有文件存放目錄如果沒有則新建。if[!-d$back]thenmkdir-p$backfi#使用mysqldump命令來備份指定的數(shù)據(jù)庫并且壓縮成gz包。mysqldump-u$dbuser-p$dbpasswd$dbname|gzip>$back/$dbname$date2.sql.gz#刪除指定5天前備份的過期文件以便節(jié)省磁盤空間cd/home/mysqlbackrm-rf$date3異地備份首先準備一臺異地的服務器,并且搭建好vsftp(vsftp具體搭建詳細步驟請參考VSFTP搭建文檔)異地備份到vsftp服務器上腳本如下:#!/bin/shecho"startbackup"dbuser="root"dbpasswd="123456"dbname="d_test"date1='date+%Y%m%d'date2='date+%Y%m%d%H%M%S'date3='date-d-4day+"%Y%m%d"'back="/home/ftp1/$date1"if[!-d$back]thenmkdir-p$backmysqldump-u$gp$dbpasswd$dbname|g—sleep5scd$backftpvvEOFopen04userftpl1123456binaryput2015.sql.gzrename2015.sql.gz$date2.sql.gzclosebyeEOFmv2015.sql.gz$date2.sql.gzcd/home/ftp1rm-rf$date3數(shù)據(jù)庫恢復或者重建,因為是完全備份,可以直接恢復最后一次完全備份文件。gunzip<備份.sql.gz|mysql-uroot-pd_test二.文件備份與恢復:因為文件一般都比較大,所以我們采用完整與增量結(jié)合的方式做備份,每個星期(時間具體情況而定)備份完整備份一次文件,每天做一次增量備份。備份腳本如下

#!/bin/shwenjian="/home/backwenjian"backlog="/home/backlog"date1='date+%Y%m%d'date2='date+%Y%m%d%H%M%S'date3='date-d-14day+"%Y%m%d"'back="/home/beifen/$date1"if[!-d$back]thenmkdir-p$backfitar-g$backlog-zcf$back/$date2.tar.gz$wenjiancd/home/beifen#shell腳本#shell腳本#指定需要備份的文件目錄#指定備份時候記錄文件#讀取當前日期#讀取當前日期時間#讀取14天前的日期#指定備份存放的文件目錄#!/bin/shwenjian="/home/backwenjian"backlog="/home/backlog"date1='date+%Y%m%d'date2='date+%Y%m%d%H%M%S'date3='date-d-14day+"%Y%m%d"back="/home/beifen/$date1"#判斷是不是有文件存放目錄如果沒有則新建if[!-d$back]thenmkdir-p$backfi完整備份,之后使用則#用tar備份指定文件并打包完整備份,之后使用則tar-g$backlog-zcf$back/$date2.tar.gz$wenjian#命令在第一次使用的時候是增量備份#進入備份存放目錄刪除指定時間目錄cd/home/beifenrm-rf$date3如果需要一周備份一次完整備份,我們只需要把記錄文件刪除或者備份到其他目錄或者改名就好下面是腳本#!/sbin/shdate='date+%Y%m%d'mv/home/backlog/home/backlog-$date文件恢復:使用tar解包命令進行解包,恢復順序為,最后一次完整備份+最后一次完整備份后的一次增量備份+……+最后一次增量備份。腳本運行時間也是備份策略時間:一種系統(tǒng)默認自動執(zhí)行的目錄有一下幾個,如果備份策略規(guī)律符合下面的策略時間的話,可以把編寫的shell腳本放入對應的目錄即可,系統(tǒng)會自動運行對應文件,提示:所以的shell腳本要給予執(zhí)行權(quán)限,否則無法執(zhí)行。/etc/cron.daily/每天執(zhí)行一次/etc/cron.monthly/每月執(zhí)行一次/etc/cron.weekly/每周執(zhí)行一次/etc/cron.hourly/每小時執(zhí)行一次另外我們可以自己定義時間策略規(guī)律:可以直接用命令:crontab-e來編輯,這個命令編輯的文件是/var/spool/cron/下面對應的用戶cron文件,如果你用的是root用戶編輯的,那么你編輯的就是/var/spool/cron/root文件。也可以直接修改/etc/crontab文件。編輯文件格式如下:MinuteHourDayMonthDayofweekCommand分鐘小時天月每星期那天命令字段的代表的意思:Minute代表每個小時第幾分鐘執(zhí)行指定任務

MinuteHour代表每天的第幾個小時執(zhí)行指定任務HourDay代表每月的第幾天執(zhí)行指定的任務Month代表每年的第幾個月執(zhí)行指定任務Dayofweek代表每周的第幾天執(zhí)行指定任務Command代表指定要執(zhí)行的程序這些字段除了Command是每次必須指定的以外其他的可以可選,不指定的可以用*代替下面舉例說明:指定每小時的第10分鐘執(zhí)行指定每天指定每小時的第10分鐘執(zhí)行指定每天13點第10分鐘執(zhí)指定每月22號13點第10分指定每年的5月22號13點10****sh/home/sh/mysql_back.sh一次sh命令/home/sh/mysql_back.sh是指定的腳本路徑1013***sh/home/sh/mysql_back.sh行一次sh命令/home/sh/mysql_back.sh是指定的腳本路徑101322**sh/home/sh/mysql_back.sh鐘執(zhí)行一次sh命令/home/sh/mysql_back.sh是指定的腳本路徑1013225*sh/home/sh/mysql_back.sh第10分鐘執(zhí)行一次sh命令/home/sh/mysql_back.sh是指定的腳本路徑1013**2sh/home/sh/mysql_back.sh指定每星期二13點第10分鐘執(zhí)行一次sh命令/home/sh/mysql_back.sh是指定的腳本路徑(星期的數(shù)字代表分別為:0星期天1星期一2星期二……6星期六)*/10****sh/home/sh/mysql_back.sh指定每10分鐘(每小時第102030405060)執(zhí)行一次sh命令/home/sh/mysql_back.sh是指定的腳本路徑1013-18***sh/home/sh/mysql_back.sh指定每天13點到18點的第10分鐘執(zhí)行一次sh命令/home/sh/mysql_back.sh是指定的腳本路徑101322,26**sh/home/sh/mysql_back.sh指定每月22號以及26號的13點第10分鐘執(zhí)行一次sh命令/home/sh/mysql_back.sh是指定的腳本路徑1013/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論