Windows Subsystem for Linux (WSL) 中的 Rsync - 防止 Windows 檔案的權限被拒絕

Windows Subsystem for Linux (WSL) 中的 Rsync - 防止 Windows 檔案的權限被拒絕

我想從 WSL 中執行 rsync 並備份我的 Windows 副本。 (因為Windows工具不起作用。如果你使用它,請檢查你的備份!無論如何,所以......)我正在安裝我的備份驅動器,sudo mount -t drvfs P: /mnt/p然後我使用rsync來備份/mnt/c/Users/username/。儘管某些目錄受到讀取保護,但我得到了permission denied。有沒有辦法賦予rsync(或WSL)讀取Windows系統上這些檔案和目錄的權限?

#!/bin/bash

NAME='Automated-Backup'
LOGSTDERR=/tmp/${NAME}.err
LOGSTDOUT=/tmp/${NAME}.log

sudo mount -t drvfs V: /mnt/v
sudo mount -t drvfs B: /mnt/b

source='/mnt/v/'
target='/mnt/b/Backup'

sudo rsync --delete \
      --exclude='*Trash*' \
      --exclude='$RECYCLE.BIN' \
      --exclude='System Volume Information' \
      -aAXzv \
      --progress \
      $source \
      $target 2>${LOGSTDERR} | tee $LOGSTDLOG

cat $LOGSTDERR

答案1

這是我的建議,但目前尚未經過測試。

WSL 的運行權限與任何其他應用程式相同,因此要獲得完整的作業系統檔案系統權限,您需要以管理員身分執行它。找到您使用的 WSL 的 exe 或應用程式(或以管理員身份開啟 cmd 提示字元),然後嘗試從那裡執行 bash。

請注意,可能有充分的理由阻止這些訪問,例如那些正在使用的文件 - 因此我還建議創建一個不同的用戶並從那裡運行它。

相關內容