Rsync

rsync 伺服器使用適用於 Linux 的 Windows 子系統

  • August 18, 2020

是否可以使用適用於 Linux 的 Windows 10 Windows 子系統 (WSL) 在 Windows 機器上執行 rsync 伺服器?

我們有一個 linux rsync 系統,它輪詢目前執行 DeltaCopy 的 Windows 機器,但我們偶爾會遇到奇怪的問題。希望“內置”WSL rsync 可能會改進一些事情,但不知道如何安排讓它作為伺服器執行。

我已經設法讓它在我的系統上執行。它不完全是 Windows 服務意義上的守護程序,而更像是目前使用者的後台任務,但它對我有用。

安裝和初始配置

我為我的使用者安裝了 WSL,並將 Debian 安裝為首選的 linux 應用程序。無論如何,它應該適用於任何發行版,因為它只使用rsync.

在我的 linux 主目錄中,我創建了兩個文件:rsyncd.confsecrets.

配置文件:

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

在此處輸入圖像描述

現在,您可以將此快捷方式放在使用者的啟動文件夾中。

引用自:https://serverfault.com/questions/878887