rsync 伺服器使用適用於 Linux 的 Windows 子系統
是否可以使用適用於 Linux 的 Windows 10 Windows 子系統 (WSL) 在 Windows 機器上執行 rsync 伺服器?
我們有一個 linux rsync 系統,它輪詢目前執行 DeltaCopy 的 Windows 機器,但我們偶爾會遇到奇怪的問題。希望“內置”WSL rsync 可能會改進一些事情,但不知道如何安排讓它作為伺服器執行。
我已經設法讓它在我的系統上執行。它不完全是 Windows 服務意義上的守護程序,而更像是目前使用者的後台任務,但它對我有用。
安裝和初始配置
我為我的使用者安裝了 WSL,並將 Debian 安裝為首選的 linux 應用程序。無論如何,它應該適用於任何發行版,因為它只使用
rsync
.在我的 linux 主目錄中,我創建了兩個文件:
rsyncd.conf
和secrets
.配置文件:
auth users = nas secrets file = /home/peter/rsyncd/secrets hosts allow = 192.168.1.5,192.168.1.11 log file = /home/peter/rsyncd/rsyncd.log port = 8730 use chroot = false read only = false [N_Almacen] path = /mnt/n/Almacen/rsyncd [N_AlmacenNB] path = /mnt/n/AlmacenNB/rsyncd
我正在使用埠 8730 以避免必須以root身份執行守護程序。這也是我禁用chroot的原因。
秘密文件像往常一樣包含使用者名和密碼。
如何執行它
最後是棘手的部分。如何執行它?
您可以使用以下命令對其進行測試:
rsync --daemon --config=/home/peter/rsyncd/rsyncd.conf --no-detach
當您確信配置正常工作時,您可以刪除該
--no-detach
選項,該命令將生成一個後台任務。即使您關閉所有bash終端,該任務仍將保留在後台。如何在後台自動啟動
那麼現在如何在登錄時自動執行?
在此之後創建一個 Windows 快捷方式
C:\Windows\System32\wsl.exe
並附加您的命令。完整的命令將是:
C:\Windows\System32\wsl.exe rsync --daemon --config=/home/peter/rsyncd/rsyncd.conf
現在,您可以將此快捷方式放在使用者的啟動文件夾中。