如何將Linux中MySQL數(shù)據(jù)定時備份到git倉庫?相信很多新手小白還沒學(xué)會這個技能,通過這篇文章的總結(jié),希望你能學(xué)會學(xué)會這個技能。以下資料是實(shí)現(xiàn)的步驟。
成都創(chuàng)新互聯(lián)2013年至今,先為新平等服務(wù)建站,新平等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為新平企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
簡介
我們在部署我們的中小型項(xiàng)目時, 在數(shù)據(jù)存儲, 我們通常選擇 mysql 作為我們的存儲工具. 那么對于一個大的項(xiàng)目來說, 每天的數(shù)據(jù)量是十分大的. 對于每天產(chǎn)生的數(shù)據(jù), 如果哪一天我們的網(wǎng)站或者服務(wù)器受到攻擊, 我們的數(shù)據(jù)丟失是個很爆炸的事情, 所以說自然這設(shè)計(jì)到數(shù)據(jù)庫的備份. 那么怎樣的備份是我們想要的呢?
對于備份的數(shù)據(jù)文件我們可能會存放在服務(wù)器目錄, 備份周期的話當(dāng)然是按照數(shù)據(jù)量來說的, 這里我們一般都是每天的凌晨備份一次. 備份后的文件存放在我們的服務(wù)器的目錄下面, 但是萬一有一天服務(wù)器也崩潰了, 那么備份的文件也就沒了, 所以我們設(shè)想一個好的方案就是數(shù)據(jù)庫每天備份 每次備份自動提交到遠(yuǎn)程倉庫, 這里我以碼云為例.
碼云
首先建立好遠(yuǎn)程倉庫, 在這里我選擇了 碼云
新建一個私有倉庫, 當(dāng)然為了每次可以免密碼提交文件, 在服務(wù)器里可以生成 ssh key
服務(wù)器新建備份
在服務(wù)器為了存儲備份后的文件, 新建一個備份目錄
$ mkdir /bak
進(jìn)入該目錄后, 繼續(xù)新建兩個文件夾 mysqlBak 和 shDir, 一個是放腳本文件, 一個是放具體備份后的文件.
下面我們可以去新建腳本了, 進(jìn)入 shDir 目錄后執(zhí)行
$ vim mysqlBak.sh
具體的代碼如下:
#!bin/sh ################### 數(shù)據(jù)庫配置信息 ####################### createAt=`date +%Y-%m-%d-%H:%M:%S` user=root passwd=ghc1996 dbname=ispace mysql_back_path=/bak/mysqlBak ################### 執(zhí)行命令 ####################### mysqldump -u $user -p$passwd $dbname > $mysql_back_path/$createAt.sql cd /bak/mysqlBak /usr/local/git/bin/git add . /usr/local/git/bin/git commit -m $createAt /usr/local/git/bin/git push
這里只是一個簡單的腳本, 我想了解 linux 的很容易看的懂, 執(zhí)行的就是備份數(shù)據(jù)庫并 push 到遠(yuǎn)程倉庫.
那么既然是腳本, 我們需要指明什么時候執(zhí)行這個腳本, 指定腳本執(zhí)行.
$ crontab -e
我們希望是每天的凌晨執(zhí)行一次備份, 并添加到遠(yuǎn)程倉庫, 那么添加
$ 0 0 * * * /bin/sh /bak/shDir/mysqlbak.sh
對 linux 的 crontab 指定的時間只有五個部分
使用命令 crontab -e 然后直接編輯定時腳本。 時間 + 具體的名字
舉個列子來說就是:
0 0,3,7,9,12,15,18,21,23 * * * /bin/sh /bak/shell/mysqlBak.sh
這樣的話就是我每天 0,,3,7,9,12,15,18,21,23 點(diǎn)時會去執(zhí)行這個腳本文件, 那么這就實(shí)現(xiàn)了基本的數(shù)據(jù)庫的備份
執(zhí)行定時任務(wù):
$ crontab -l
如果服務(wù)沒有啟動 那么重新啟動定時任務(wù)
$ systemctl restart crond
那么現(xiàn)在這個定時任務(wù)就已經(jīng)啟動了, 對于提交遠(yuǎn)程倉庫前提是在服務(wù)器生成 ssh key并添加到碼云, 這在上面也提到過.
對于需要提交文件的目錄初始化 git 目錄就可以了, 這樣局可以構(gòu)成了我們需要的本分任務(wù).
當(dāng)然過程中可能會遇到一些問題, 我在下面的相關(guān)鏈接都已經(jīng)羅列出來了.
這樣一來我們就可以實(shí)現(xiàn)了每天的凌晨備份我們的數(shù)據(jù)庫, 并同時提交到我們的碼云這個遠(yuǎn)程倉庫, 這也是我們想要的效果.
我也說過備份的周期視我們的項(xiàng)目的數(shù)據(jù)量的大小而定.
對于每個框架都有自己的備份機(jī)制 我這里所寫的是我們自己實(shí)現(xiàn)的一個通用的備份機(jī)制
以上就是將Linux中MySQL數(shù)據(jù)定時備份到git倉庫的方法,詳細(xì)使用情況還需要大家自己親自動手使用過才能領(lǐng)會。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章名稱:如何將Linux中MySQL數(shù)據(jù)定時備份到git倉庫
地址分享:http://m.rwnh.cn/article14/jcggde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站策劃、微信小程序、商城網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)