- 在編程的藝術世界里,代碼和靈感需要尋找到最佳的交融點,才能打造出令人為之驚嘆的作品。
- 而在這座秋知葉i博客的殿堂里,我們將共同追尋這種完美結合,為未來的世界留下屬于我們的獨特印記。
【Linux命令】--- 多核壓縮命令大全(加快壓縮和解壓)
- 開發環境
- 一、rsync命令的常用選項
- 二、安裝rsync
- 三、設置cron計劃任務
- 四、創建rsync命令
- 示例1:同步本地文件夾到遠程服務器
- 示例2:定時同步文件夾(不使用鏡像刪除)
- 示例3:另一個定時同步示例(不使用鏡像刪除)
- 五、重要提示
- 六、額外提示:
開發環境
- 開發環境:ubuntu20
一、rsync命令的常用選項
-
rsync命令的選項非常豐富,下面列出了一些常用的選項:
-
-a
:歸檔模式,表示以遞歸方式傳輸文件,并保持文件的屬性,如修改時間、訪問權限、所有者等。這個選項是-rlptgoD
的集合,其中r
表示遞歸,l
表示保持符號鏈接,p
表示保持文件權限,t
表示保持文件時間戳,g
表示保持文件所屬組,o
表示保持文件所有者,D
表示保持設備文件和特殊文件。 -
-v
:詳細模式,顯示文件傳輸的詳細信息。 -
-z
:在傳輸過程中使用gzip壓縮文件數據,有助于加快傳輸速度,特別是對于大文件或網絡帶寬有限的情況。 -
--progress
:顯示文件傳輸的進度信息。 -
--delete
:刪除目標目錄中存在而源目錄中不存在的文件,使目標目錄成為源目錄的鏡像。 -
--exclude
:排除與指定模式匹配的文件或目錄。
二、安裝rsync
sudo apt update
sudo apt install rsync
三、設置cron計劃任務
編輯crontab文件以設置定時任務:
crontab -e
四、創建rsync命令
- 根據實際需求,選擇適合的選項來構建rsync命令。以下的示例,演示了如何將本地文件夾同步到遠程服務器,并顯示詳細的傳輸進度信息:
示例1:同步本地文件夾到遠程服務器
rsync -avz --progress /local/path/to/source/ username@remote_server:/path/on/server/ --delete
命令功能詳解:
-
歸檔模式 (-a):
- 保持文件屬性不變。
- 允許遞歸復制整個目錄結構。
-
壓縮傳輸 (-z):
- 使用gzip壓縮數據,減少傳輸量。
-
顯示進度 (–progress):
- 提供實時的文件傳輸進度信息。
-
鏡像刪除 (–delete):
- 刪除目標目錄中源目錄沒有的文件,實現目錄鏡像。
示例2:定時同步文件夾(不使用鏡像刪除)
00 22 * * * rsync -av /tmp/history_log/ /root/history_file/
說明:
- 該cron任務每晚10點執行。
- 使用歸檔模式 (-a) 保持文件屬性并遞歸復制。
- 注意,未使用
--delete
選項,因此不會刪除目標目錄中額外的文件。
示例3:另一個定時同步示例(不使用鏡像刪除)
00 23 * * * rsync -av /home/share/project/ /root/project/
說明:
- 該cron任務每晚11點執行。
- 類似于示例2,它也使用歸檔模式 (-a) 進行遞歸復制,并保持文件屬性。
- 同樣沒有使用
--delete
選項,所以目標目錄中額外的文件將保留。
五、重要提示
- 在使用rsync命令時,請確保對源目錄和目標目錄具有適當的權限。
- 根據具體需求調整rsync命令的選項。
- 定期檢查同步結果,以確保數據的完整性和準確性。
六、額外提示:
- 日志記錄:如果希望記錄rsync的執行情況。可以將rsync的輸出重定向到一個日志文件中,例如:
0 2 * * * rsync -avz --progress /local/path/to/source/ username@remote_server:/path/on/server/ --delete > /var/log/rsync.log 2>&1
- 這會將標準輸出和標準錯誤都重定向到
/var/log/rsync.log
文件中。