![跨多個使用者帳戶同步文件](https://rvso.com/image/192234/%E8%B7%A8%E5%A4%9A%E5%80%8B%E4%BD%BF%E7%94%A8%E8%80%85%E5%B8%B3%E6%88%B6%E5%90%8C%E6%AD%A5%E6%96%87%E4%BB%B6.png)
我對使用還很陌生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 中...您就明白了。