簡介
我們在部署我們的中小型專案時, 在資料儲存, 我們通常選擇mysql 作為我們的儲存工具. 那麼對於一個大的專案來說, 每天的資料量是十分大的. 對於每天產生的資料, 如果哪一天我們的網站或伺服器受到攻擊, 我們的資料遺失是個很爆炸的事情, 所以說自然這設計到資料庫的備份. 那麼怎樣的備份是我們想要的呢?
對於備份的資料檔案我們可能會存放在伺服器目錄, 備份週期的話當然是按照資料量來說的, 這裡我們一般都是每天的凌晨備份一次. 備份後的文件存放在我們的伺服器的目錄下面, 但是萬一有一天伺服器也崩潰了, 那麼備份的文件也就沒了, 所以我們設想一個好的方案就是資料庫每天備份每次備份自動提交到遠端倉庫,這裡我以碼雲為例.
推薦學習:《linux教程
碼雲
#首先建立好遠端倉庫, 在這裡我選擇了碼雲
新建一個私有倉庫, 當然為了每次可以免密碼提交檔案, 在伺服器裡可以產生ssh key
#伺服器新備份
在伺服器為了儲存備份後的檔案, 新建一個備份目錄
$ mkdir /bak
$ vim mysqlBak.sh
#!bin/sh ################### 数据库配置信息 ####################### createAt=`date +%Y-%m-%d-%H:%M:%S` user=root passwd=ghc1996 dbname=ispace mysql_back_path=/bak/mysqlBak ################### 执行命令 ####################### 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
$ crontab -e
$ 0 0 * * * /bin/sh /bak/shDir/mysqlbak.sh
#使用指令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 點時會去執行這個腳本檔, 那麼這就實現了基本的資料庫的備份
###執行定時任務:###$ crontab -l
$ systemctl restart crond
以上是Linux MySQL 定時備份並上傳到 git 倉庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!