如何將Linux中MySQL數(shù)據(jù)定時備份到git倉庫?相信很多新手小白還沒學會這個技能,通過這篇文章的總結(jié),希望你能學會學會這個技能。以下資料是實現(xiàn)的步驟。
成都創(chuàng)新互聯(lián)專業(yè)做網(wǎng)站、成都做網(wǎng)站,集網(wǎng)站策劃、網(wǎng)站設(shè)計、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文推廣等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計,讓網(wǎng)站在運行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。簡介
我們在部署我們的中小型項目時, 在數(shù)據(jù)存儲, 我們通常選擇 mysql 作為我們的存儲工具. 那么對于一個大的項目來說, 每天的數(shù)據(jù)量是十分大的. 對于每天產(chǎn)生的數(shù)據(jù), 如果哪一天我們的網(wǎng)站或者服務(wù)器受到攻擊, 我們的數(shù)據(jù)丟失是個很爆炸的事情, 所以說自然這設(shè)計到數(shù)據(jù)庫的備份. 那么怎樣的備份是我們想要的呢?
對于備份的數(shù)據(jù)文件我們可能會存放在服務(wù)器目錄, 備份周期的話當然是按照數(shù)據(jù)量來說的, 這里我們一般都是每天的凌晨備份一次. 備份后的文件存放在我們的服務(wù)器的目錄下面, 但是萬一有一天服務(wù)器也崩潰了, 那么備份的文件也就沒了, 所以我們設(shè)想一個好的方案就是數(shù)據(jù)庫每天備份 每次備份自動提交到遠程倉庫, 這里我以碼云為例.
碼云
首先建立好遠程倉庫, 在這里我選擇了 碼云
新建一個私有倉庫, 當然為了每次可以免密碼提交文件, 在服務(wù)器里可以生成 ssh key
服務(wù)器新建備份
在服務(wù)器為了存儲備份后的文件, 新建一個備份目錄
$ mkdir /bak
進入該目錄后, 繼續(xù)新建兩個文件夾 mysqlBak 和 shDir, 一個是放腳本文件, 一個是放具體備份后的文件.
下面我們可以去新建腳本了, 進入 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 到遠程倉庫.
那么既然是腳本, 我們需要指明什么時候執(zhí)行這個腳本, 指定腳本執(zhí)行.
$ crontab -e
我們希望是每天的凌晨執(zhí)行一次備份, 并添加到遠程倉庫, 那么添加
$ 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 點時會去執(zhí)行這個腳本文件, 那么這就實現(xiàn)了基本的數(shù)據(jù)庫的備份
執(zhí)行定時任務(wù):
$ crontab -l
如果服務(wù)沒有啟動 那么重新啟動定時任務(wù)
$ systemctl restart crond
那么現(xiàn)在這個定時任務(wù)就已經(jīng)啟動了, 對于提交遠程倉庫前提是在服務(wù)器生成 ssh key并添加到碼云, 這在上面也提到過.
對于需要提交文件的目錄初始化 git 目錄就可以了, 這樣局可以構(gòu)成了我們需要的本分任務(wù).
當然過程中可能會遇到一些問題, 我在下面的相關(guān)鏈接都已經(jīng)羅列出來了.
這樣一來我們就可以實現(xiàn)了每天的凌晨備份我們的數(shù)據(jù)庫, 并同時提交到我們的碼云這個遠程倉庫, 這也是我們想要的效果.
我也說過備份的周期視我們的項目的數(shù)據(jù)量的大小而定.
對于每個框架都有自己的備份機制 我這里所寫的是我們自己實現(xiàn)的一個通用的備份機制
以上就是將Linux中MySQL數(shù)據(jù)定時備份到git倉庫的方法,詳細使用情況還需要大家自己親自動手使用過才能領(lǐng)會。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!