如何將Linux中MySQL數(shù)據(jù)定時備份到git倉庫

如何將Linux中MySQL數(shù)據(jù)定時備份到git倉庫?相信很多新手小白還沒學會這個技能,通過這篇文章的總結,希望你能學會學會這個技能。以下資料是實現(xiàn)的步驟。

成都創(chuàng)新互聯(lián)2013年至今,先為新平等服務建站,新平等地企業(yè),進行企業(yè)商務咨詢服務。為新平企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

簡介

我們在部署我們的中小型項目時, 在數(shù)據(jù)存儲, 我們通常選擇 mysql 作為我們的存儲工具. 那么對于一個大的項目來說, 每天的數(shù)據(jù)量是十分大的. 對于每天產(chǎn)生的數(shù)據(jù), 如果哪一天我們的網(wǎng)站或者服務器受到攻擊, 我們的數(shù)據(jù)丟失是個很爆炸的事情, 所以說自然這設計到數(shù)據(jù)庫的備份. 那么怎樣的備份是我們想要的呢?

對于備份的數(shù)據(jù)文件我們可能會存放在服務器目錄, 備份周期的話當然是按照數(shù)據(jù)量來說的, 這里我們一般都是每天的凌晨備份一次. 備份后的文件存放在我們的服務器的目錄下面, 但是萬一有一天服務器也崩潰了, 那么備份的文件也就沒了, 所以我們設想一個好的方案就是數(shù)據(jù)庫每天備份 每次備份自動提交到遠程倉庫, 這里我以碼云為例.

碼云

首先建立好遠程倉庫, 在這里我選擇了 碼云

新建一個私有倉庫, 當然為了每次可以免密碼提交文件, 在服務器里可以生成 ssh key

服務器新建備份

在服務器為了存儲備份后的文件, 新建一個備份目錄

$ 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 指定的時間只有五個部分

如何將Linux中MySQL數(shù)據(jù)定時備份到git倉庫

使用命令 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í)行定時任務:

$ crontab -l

如果服務沒有啟動 那么重新啟動定時任務

$ systemctl restart crond

那么現(xiàn)在這個定時任務就已經(jīng)啟動了, 對于提交遠程倉庫前提是在服務器生成 ssh key并添加到碼云, 這在上面也提到過.

對于需要提交文件的目錄初始化 git 目錄就可以了, 這樣局可以構成了我們需要的本分任務.

當然過程中可能會遇到一些問題, 我在下面的相關鏈接都已經(jīng)羅列出來了.

這樣一來我們就可以實現(xiàn)了每天的凌晨備份我們的數(shù)據(jù)庫, 并同時提交到我們的碼云這個遠程倉庫, 這也是我們想要的效果.

我也說過備份的周期視我們的項目的數(shù)據(jù)量的大小而定.

對于每個框架都有自己的備份機制 我這里所寫的是我們自己實現(xiàn)的一個通用的備份機制

以上就是將Linux中MySQL數(shù)據(jù)定時備份到git倉庫的方法,詳細使用情況還需要大家自己親自動手使用過才能領會。如果想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章名稱:如何將Linux中MySQL數(shù)據(jù)定時備份到git倉庫
地址分享:http://muchs.cn/article14/jcggde.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站策劃、微信小程序商城網(wǎng)站、外貿(mào)網(wǎng)站建設做網(wǎng)站

廣告

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

綿陽服務器托管