搜尋
首頁運維linux運維Linux MySQL 定時備份並上傳到 git 倉庫

簡介

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

對於備份的資料檔案我們可能會存放在伺服器目錄, 備份週期的話當然是按照資料量來說的, 這裡我們一般都是每天的凌晨備份一次. 備份後的文件存放在我們的伺服器的目錄下面, 但是萬一有一天伺服器也崩潰了, 那麼備份的文件也就沒了, 所以我們設想一個好的方案就是資料庫每天備份每次備份自動提交到遠端倉庫,這裡我以碼雲為例.

推薦學習:《linux教程

碼雲

#首先建立好遠端倉庫, 在這裡我選擇了碼雲

新建一個私有倉庫, 當然為了每次可以免密碼提交檔案, 在伺服器裡可以產生ssh key

#伺服器新備份

在伺服器為了儲存備份後的檔案, 新建一個備份目錄Linux MySQL 定時備份並上傳到 git 倉庫

$ mkdir /bak

進入該目錄後, 繼續新建兩個資料夾mysqlBak 和shDir, 一個是放腳本檔,一個是放具體備份後的檔案.

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

$ 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

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

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

$ crontab -e

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

$ 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 點時會去執行這個腳本檔, 那麼這就實現了基本的資料庫的備份

###執行定時任務:###
$ crontab -l
###如果服務沒有啟動那麼重新啟動定時任務###
$ systemctl restart crond
###那麼現在這個定時任務就已經啟動了, 對於提交遠端倉庫前提是在伺服器生成ssh key並添加到碼雲, 這在上面也提到過.#######對於需要提交文件的目錄初始化git 目錄就可以了, 這樣局可以構成了我們需要的本分任務.######當然過程中可能會遇到一些問題, 我在下面的相關鏈接都已經羅列出來了.######這樣一來我們就可以實現了每天的凌晨備份我們的資料庫, 並同時提交到我們的碼雲這個遠端倉庫, 這也是我們想要的效果.#######我也說過備份的周期視我們的項目的資料量的大小而定.######對於每個框架都有自己的備份機制我這裡所寫的是我們自己實現的一個通用的備份機制###

以上是Linux MySQL 定時備份並上傳到 git 倉庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:ruoxiaozh。如有侵權,請聯絡admin@php.cn刪除
Debian怎樣回收不再需要的依賴Debian怎樣回收不再需要的依賴Apr 13, 2025 am 09:18 AM

本文介紹如何在Debian系統中清理不再需要的軟件包依賴。請謹慎操作,建議備份重要數據。第一步:更新軟件包列表首先,更新你的軟件包列表,確保信息是最新的:sudoaptupdate第二步:識別無用依賴使用apt-rdepends命令查找哪些軟件包依賴於你想要刪除的軟件包(例如package_name):apt-rdependspackage_name|grep-v"^"|sort-u此命令列出所有依賴於package_name的軟件包,但不包括package_name

Debian Apache日誌輪轉如何配置Debian Apache日誌輪轉如何配置Apr 13, 2025 am 09:15 AM

本文介紹如何在Debian系統中配置Apache日誌輪轉,主要藉助logrotate工具實現。步驟一:驗證logrotate是否已安裝使用以下命令檢查:logrotate--version若未安裝,則執行:sudoapt-getupdatesudoapt-getinstalllogrotate步驟二:定位Apache日誌輪轉配置文件配置文件通常位於/etc/logrotate.d/目錄下,文件名可能是apache2或httpd。使用以下命令查找:ls/etc/logrot

Debian回收舊版本的方法Debian回收舊版本的方法Apr 13, 2025 am 09:12 AM

本文介紹如何有效清理Debian系統中的舊版本軟件和內核,釋放磁盤空間並提高系統性能。操作前請務必備份重要數據。一、清除無用軟件包使用apt命令行工具可以輕鬆刪除不再需要的軟件包及其依賴項:打開終端。執行sudoapt-getautoremove命令自動刪除已安裝軟件包的冗餘依賴項。使用sudoapt-getpurge命令刪除指定軟件包及其配置文件。例如,刪除firefox及其配置文件,執行sudoapt-getpurgefirefox。

如何利用Nginx日誌提升網站速度如何利用Nginx日誌提升網站速度Apr 13, 2025 am 09:09 AM

網站性能優化離不開對訪問日誌的深入分析。 Nginx日誌記錄了用戶訪問網站的詳細信息,巧妙利用這些數據,可以有效提升網站速度。本文將介紹幾種基於Nginx日誌的網站性能優化方法。一、用戶行為分析與優化通過分析Nginx日誌,我們可以深入了解用戶行為,並據此進行針對性優化:高頻訪問IP識別:找出訪問頻率最高的IP地址,針對這些IP地址優化服務器資源配置,例如增加帶寬或提升特定內容的響應速度。狀態碼分析:分析不同HTTP狀態碼(例如404錯誤)出現的頻率,找出網站導航或內容管理中的問題,並進

debian readdir如何實現文件排序debian readdir如何實現文件排序Apr 13, 2025 am 09:06 AM

在Debian系統中,readdir函數用於讀取目錄內容,但其返回的順序並非預先定義的。要對目錄中的文件進行排序,需要先讀取所有文件,再利用qsort函數進行排序。以下代碼演示瞭如何在Debian系統中使用readdir和qsort對目錄文件進行排序:#include#include#include#include//自定義比較函數,用於qsortintcompare(constvoid*a,constvoid*b){returnstrcmp(*(

debian readdir如何支持遠程文件系統debian readdir如何支持遠程文件系統Apr 13, 2025 am 09:03 AM

在Debian系統中,readdir函數用於讀取目錄內容。要使其支持遠程文件系統,需確保遠程文件系統已正確掛載到本地。以下步驟詳細說明如何實現:一、選擇合適的協議:選擇合適的遠程文件系統協議至關重要,例如NFS、Samba、FTP、SSHFS等。不同協議的配置方法差異較大。二、安裝必要軟件包:根據所選協議,安裝相應的軟件包。例如,NFS需要nfs-common或nfs-kernel-server;Samba需要samba;SSHFS需要fuse和sshfs。使用apt-getinst

debian readdir的兼容性如何debian readdir的兼容性如何Apr 13, 2025 am 09:00 AM

readdir函數是Linux系統中用於讀取目錄內容的標準工具,在Debian及大多數Linux發行版中均可用。作為穩定且廣泛使用的發行版,Debian的readdir函數通常具有良好的兼容性,能與標準C庫(例如glibc)及其他Linux工具無縫集成。 Debian的更新日誌和安全公告中鮮有提及readdir函數的兼容性問題。例如,Debian12.10的更新主要集中在安全性和穩定性改進,這些更新一般不會影響readdir等核心系統工具的兼容性。如果您在

Debian下Tomcat日誌配置在哪Debian下Tomcat日誌配置在哪Apr 13, 2025 am 08:57 AM

本文介紹如何在Debian系統中配置Tomcat日誌。 Tomcat日誌配置文件通常位於/path/to/tomcat/conf/logging.properties。通過修改此文件,您可以自定義日誌級別、格式和輸出位置。日誌文件存放位置Tomcat日誌文件默認存儲在$CATALINA_BASE/logs目錄下。 $CATALINA_BASE指的是Tomcat的安裝根目錄,如果未指定,則與$CATALINA_HOME(Tomcat安裝目錄)相同。常用Linux命令查看Tomcat日誌以下是一些常

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具