利用 Rsync 自動同步檔案至 Vagrant 虛擬環境

Dec 17, 2016 Vagrant English

Vagrant 不僅使用起來簡單、方便,它還允許我們利用 NFS、SMB、Rsync 等不同的機制同步檔案至虛擬環境中,本篇將介紹如何在 macOS 下透過 Rsync 來自動同步檔案至 Vagrant 虛擬環境。



前置準備

基本上,macOS 已經替你預先安裝好 Rsync,所以不需要特別安裝 (但版本較舊),但是你仍然可以透過 Homebrew 升級 Rsync。利用下面指令瞭解目前 Rsync 版本:

rsync --version


設定 Rsync 同步

開啟你的 Vagrant Machine 設定檔 ( Vagrantfile ),將下面設定加入:

 ...

  config.vm.synced_folder "/path/to/local/folder", "/path/to/vm/folder",
    type: "rsync",
    rsync__exclude: [".git/", "*.swp"]

 ...

vm.synced_folder 後兩個參數需指定絕對路徑,而 rsync__exclude 則可以指定多個要排除的檔案名稱、類型。

啟用 Rsync 自動同步

當你啟動 Vagrant 虛擬機器時,自動同步機制並不會跟著啟用。所以等待啟動完成,接著再啟用自動同步:

# 啟動虛擬環境
vagrant up

# 啟動 Rsync 自動同步
vagrant rsync-auto

你會看到它自動檢查檔案是否有異動,若有異動則進行同步。基本上,它同步速度與穩定度算 OK,但偶爾會延遲。為了讓 Rsync 同步能更加流暢順利,我們可以使用套件來取代內建的自動同步


你也可能會喜歡:




若對於文章內容有任何建議與指正,非常歡迎你告訴我或者與我一起討論 ! :)

zeckli.devforgalaxy@gmail.com   © 2015-2019 zeckli, thanks to Jekyll and GitHub.