跨多個使用者帳戶同步文件

跨多個使用者帳戶同步文件

我對使用還很陌生rsync,我想知道是否可以在一台 PC 上跨多個用戶帳戶同步文件?

對於我想要應用該命令的計算機rsync,每個用戶都必須單獨登入自己的用戶帳戶。有沒有辦法rsync從 root 帳號存取目錄和文件每個用戶?我只想抓取文件.csv格式。

謝謝!

答案1

有沒有辦法從root帳號使用rsync來存取每個使用者的目錄和檔案?我只想抓取 .csv 格式的檔案。

該命令將備份所有內容/home並將其保存到遠端主機下的/path/to/backup.如果遠端檔案系統能夠這樣做,它將保留使用者的所有權和權限

rsync -av /home remoteHost:/path/to/backup/

如果您在遠端系統上沒有 root 存取權限,則應新增-M--fake-super選項以不需要 root 存取權限的方式備份檔案元資料(擁有權和權限)。確保如果您使用此標誌,也將其用於恢復。

你的問題的第二部分是重複的Rsync 篩選器:僅複製一種模式。若要將複製限制為僅.csv文件,您可以使用此

rsync -av --prune-empty-dirs --include='*/' --include='*.csv' --exclude='*' /home remoteHost:/path/to/backup/

答案2

一般來說,是的。您將遇到的問題是身份驗證。例如,您可以從 cron 執行 rsync 腳本。給自己寫一個shell腳本。如果來源和目標都在本機上,則 root 可以工作。

如果來源或目的地是遠端的,那麼這是一項更困難的任務。最簡單的方法是繞過這個問題——使用NFS將遠端磁碟掛載到本機上。你也可以找 ssh 驗證...這是一個供你研究的兔子洞

好的。假設 /root/backupuserlist 是使用者列表,每行一個,而 /backupdrive 是您備份使用者的位置。

#!/bin/bash
# backup /root/backupuserlist to /backupdrive

BK_USERS=`cat /root/backupuserlist`
BK_DRIVE=/backupdrive

for user in $BK_USERS; do
   rsync -av ~$user/ $BK_DRIVE/$user/
done

crate /root/backuserlist,然後以 root 身分執行它...或將其放入 root 的 crontab 或 /etc/crontab 中...您就明白了。

相關內容