我常用的4個備份工具

濤哥聊Python發表於2018-10-09

我常用的4個備份工具
不言而喻,備份對我們日常工作是非常重要的,前有GitLab誤刪300G資料實時恢復資料刺激過程,後有騰訊雲故障丟失客戶資料,遭千萬索賠的尷尬場景。

實際生活中類似的事情或多或少都會有那麼一些。比如電腦藍屏,虛擬機器突然壞掉,導致一天都在重新折騰配置工作環境,比如誤刪了自己電腦裡面相簿資料或者開發文件,導致重新整理或書寫,甚至直接電腦摔壞或者被偷了。

這一系列問題多多少少與我們備份有關,今天我主要分享幾個我日常用的比較多的備份工具給大家。

Git版本控制系統

我常用的4個備份工具

提到備份,毫無疑問必須是版本控制系統--Git。

首先我們簡單解釋一下什麼是版本控制,它主要是記錄一個或多個檔案內容變化,以便將來進行查閱版本修訂的系統。

有了Git,你能很容易追溯到歷史的各個版本,你能隨意更改變更,最後很容易回到之前的樣子,幾乎不會增加額外的工作就能實現。

說到這裡,就要解釋下為什麼我不喜歡用word進行寫文件,而是用Markdown,不僅僅Markdown簡單好用易於排版,還有一個md檔案是普通文字檔案,而word生成的docx是二進位制檔案,只能監聽到改動卻無法對改動進行恢復對比。

還記得我們大學寫畢業論文的時候,產生7,8個版本的word文件場景麼?

每次論文的每個版本或多個版本之間,對比非常困難,不能很好差異化,管理還原出來。(即使word有對比功能)

實際情況我們論文可以嘗試Git+Markdown進行管理書寫,再通過Pandoc 生成docx,即可以進行版本控制又可以以標準格式交差。

Rsync檔案備份

我常用的4個備份工具
說完檔案監聽控制,我們談一下Rsync,它是一個Linux系統管理員常用的命令列工具,常用於資料拷貝備份,主要用於開發過程中操作。

比如我們開發過程傳輸程式碼到線上伺服器的時候,或者備份資料庫或者日誌檔案等等。

主要特點:

資料傳輸進行指定壓縮解壓縮,減少頻寬佔用

差異計算,檔案對比,檔案更新才進行傳輸(即增量同步)

簡單用法如下:


rsync -avz source_dir dest_dir(username@host:PATH) --exclude "*.pyc*" --delete
其中 -v  verbose 詳細輸出
    -a  歸檔模式,遞迴方式傳輸檔案
    -z  壓縮檔案傳輸
    -h  human-readable, 輸出友好
    --exclude 不包括 pyc的檔案,
    --delete刪除在源端不存在的檔案(不加不會預設刪除)

    # source_dir 帶 `/ ` 會把所有內容複製到目的端,不帶就會建立複製同名目錄,源端同理。

複製程式碼

日常工作中我們備份資料常常用crontab進行定期執行rsync命令,但是為了更方便管理我們對服務的操作,可以把命令的shell檔案加入版本控制裡面,通過Celery Beat來進行統一執行定時任務。

Dropbox雲端儲存

我常用的4個備份工具
說完資料檔案的命令列備份,我們簡單說一下圖形使用者介面的Dropbox。

Dropbox是一個線上雲端儲存服務,最初由Python書寫,通過雲端計算實現和網際網路檔案同步,用於儲存和共享檔案及資料夾。

主要特點:

全自動備份,增量更新

支援兩步認證,儲存更安全

分享/協作自由方便

IFTTT輔助功能

如果因為Qiang的問題而放棄優秀的工具,是得不償失的,建議大家都去嘗試一下。

Time Machine時光機器

我常用的4個備份工具

最後來說說對整個作業系統備份--Time Machine(時光機器),它是 Mac OS X 內建的備份工具,它可以自動按照每小時,每天或者每週來對你的蘋果電腦進行備份。

可以在本地或者外接鍵盤進行備份。比如我家裡面就是使用LaCie外接硬碟進行系統備份的。

如果你要進行系統升級或者資料遷移,Time Machine將是你最好的安全防線,強烈建議Mac的同學開啟進行備份。

恢復任意時刻系統圖

上面的四個工具,我們從檔案細微變更(Git),到命令列檔案增量同步(Rsync)備份,到Dropbox圖形使用者介面的雲端儲存服務的檔案管理,到最後整個作業系統備份,做了一個簡短的介紹,希望大家可以去嘗試一下,使用好了這幾個工具,我們的檔案資料將變得更加安全。

如果你有問題或者更好的推薦,歡迎留言來分享你的效率工具。

本文首發微信公眾號

我常用的4個備份工具

相關文章