--- GA: G-44K4TH870N --- > 理想的檔案備份是有雲端、有本地(Remote & Local),本地資料再分兩個地方保存。這樣可以預防大部分的情況,例如雲端服務出問題、或是本地遇到天災火災,至少都能確保其中一份資料的安全。 ## 使用 Git + Github 備份程式 [**git**](https://git-scm.com/)是個本地(Local)的版本控制軟體,因此比較不適合追蹤大型檔案(例如圖片、原始資料等),推薦用來追蹤自己的程式,順便進行雲端備份。 如果你已經有一個使用中的專案資料夾,建議你用下面的流程來進行 1. 先在資料夾中git init初始化你的資料夾 2. 用add追蹤資料夾中你想要追蹤的檔案 3. commit將你的檔案紀錄 此時你的檔案已經在本地有一份追蹤紀錄,但遠端還沒有。因此你可以在遠端[**Github**](https://github.com/)上開一個空的repository,並用```git remote add```來連結本地和遠端的git進度。 接下來就可以用push和pull來更新repository的內容,如果你只是要單方面的備份資料,基本上只會用到commit跟push的部分,這邊不介紹多人協作或是控制多個分支的功能。 ## 使用rsync把Linux伺服器上的資料備份到本地 rsync是一個備份檔案專用的指令,可以用於本地對本地或是遠端對本地的備份,而且會自動辨識並跳過相同(已經備份過)的檔案。但是它無法直接在windows上運行。我這邊選擇透過WSL (Windows Subsystem for Linu)來運行這個指令,並將伺服器上的檔案透過我的電腦備份到外接硬碟。 由於WSL可以透過掛載讀取外接硬碟,路徑應該會在/mnt底下的/e或是/f之類的。 ```shell rsync -avzh user@140.112.xx.xxx:/path/to/FolderOrFile /path/to/destination ``` 接下來會跟SSH一樣跳出輸入密碼的地方,輸入完就會開始備份了。 > 跑之前可以先用 ```--dry-run``` 測試備份檔案路徑是否正確