<noframes id="xlzjj">
    <address id="xlzjj"></address>
    <form id="xlzjj"></form><em id="xlzjj"><span id="xlzjj"><span id="xlzjj"></span></span></em><address id="xlzjj"></address>

      <noframes id="xlzjj">
      <form id="xlzjj"><nobr id="xlzjj"><progress id="xlzjj"></progress></nobr></form>

      <address id="xlzjj"></address>
      <address id="xlzjj"><address id="xlzjj"><listing id="xlzjj"></listing></address></address>
      <em id="xlzjj"></em>

      Linux MySQL 定時備份并上傳到 git 倉庫

      作者: 健隆 分類: 服務器 發布時間: 2019-12-25 09:49

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

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

      推薦學習:《linux教程

      碼云

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

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

      服務器新建備份

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

      1

      mkdir /bak

      進入該目錄后, 繼續新建兩個文件夾 mysqlBak 和 shDir, 一個是放腳本文件, 一個是放具體備份后的文件.

      下面我們可以去新建腳本了, 進入 shDir 目錄后執行

      1

      $ vim mysqlBak.sh

      具體的代碼如下:

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      #!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

      這里只是一個簡單的腳本, 我想了解 linux 的很容易看的懂, 執行的就是備份數據庫并 push 到遠程倉庫.

      那么既然是腳本, 我們需要指明什么時候執行這個腳本, 指定腳本執行.

      1

      $ crontab -e

      我們希望是每天的凌晨執行一次備份, 并添加到遠程倉庫, 那么添加

      1

      $ 0 0 * * * /bin/sh /bak/shDir/mysqlbak.sh

      對 linux 的 crontab 指定的時間只有五個部分

      ccd07c12bef1e83d033c0ae6e8a0d80.png

      使用命令 crontab -e 然后直接編輯定時腳本。 時間 + 具體的名字

      舉個列子來說就是:

      1

      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 點時會去執行這個腳本文件, 那么這就實現了基本的數據庫的備份

      執行定時任務:

      1

      $ crontab -l

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

      1

      $ systemctl restart crond

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

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

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

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

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

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

      如果覺得我的文章對您有用,請隨意打賞。您的支持將鼓勵我繼續創作!

      偷拍久久国产視频,AV一区二区国产剧情,国产剧情AV果冻传媒在线观看,国产网红k频道隔壁小姐姐,综合国产日韩亚洲欧美一区,爱豆传媒国产剧情免费观看,国产萝莉福利,国产网红主播剧情 母女中文字幕| 麻豆张芸熙安慰失恋弟弟| 日本合体| 女同性恋舌吻优酷视频| 韩国射手| 韩国东星| 麻豆传媒OL保全篇| 97国产一区二区三区四区久久| 国产丝袜横向测评| 日韩国产偷拍123| 国模娇娇 150P 国产模特| av午夜影院啪啪在线观看| 国产专区剧情麻豆传媒| 国产年轻情侣啪啪直播下载| 台湾swag视频在线高清观看| 2017欧美男生短发| 日本夏威夷| 沈芯语老师是谁| 韩国rain| 妈妈卡洗衣机剧情国产| 还不懂事的小中文字幕| 欧美_aV| 国产剧情中文无码字幕| 日本深夜档| 果冻传媒真人拍摄| 谷歌地图中文字幕| 榴莲视频app在线观看| 在线主播精品国产自慰潮喷| 小鸟酱小说在线| 宿命日本| 莱西男女同性恋| 国产偷拍上线| 无码.中文字幕| 2020精品福利国产色在线| 小早川不卡中文字幕| 99re在线精品视频3| 枪花乐队don t cry中文字幕原版| 国产每天更新三级在线视频| 地址一地址二2017 小草之家| 国产偷拍在拍在线播放| 国产模特儿与裁缝师迅雷| http://www.collinwimberly.com http://www.kite-safari.net http://www.dtnbzn.com http://www.reloadedinteractive.com http://www.malaysian-gate.com http://www.theafter5.com