Symlink
如何同步 /home/userA/transfer 和 /home/userB/transfer?
如何同步 /home/userA/transfer 和 /home/userB/transfer?
我試圖建立一個符號連結。
ln -s /home/userA/transfe /home/userB/transfer
符號連結不起作用…
lrwxrwxrwx 1 centos centos 40 Feb 12 19:55 transfer -> /home/userB/transfer
使用者的主目錄對其他使用者的訪問很挑剔。家庭目錄下的所有內容都應該歸該家庭的使用者所有。您可能面臨權限問題,因此符號連結絕對是錯誤的方式。如果您不想要實時同步並且只不時進行同步,您應該有權訪問兩個目錄,最有可能的選擇是能夠成為超級使用者。然後您可以執行同步並恢復自然所有權。這裡是你可以去的方式:
id userB # figure out the group of the userB, suppos the output is groupB sudo -i # become a superuser rsync -aP /home/userA/transfer/ /home/userB/transfer/ #sync using rsync chown -R userB.groupB /home/userB/transfer # restore ownership
如果這對您有用,則可以將其優化為非互動式單行命令:
sudo bash -c "rsync -a /home/userA/transfer/ /home/userB/transfer/ && chown -R userB.$(id -gn userB) /home/userB/transfer/"
更新一個例子:
→ sudo ls -al /home/joker/trans/ total 8 drwxrwxr-x. 2 joker joker 4096 Feb 12 20:44 . drwx------. 9 joker joker 4096 Feb 12 20:33 .. -rw-rw-r--. 1 joker joker 0 Feb 12 20:33 file1 -rw-rw-r--. 1 joker joker 0 Feb 12 20:33 file2 → sudo ls -al /home/vagrant/trans/ total 8 drwxrwxr-x. 2 vagrant vagrant 4096 Feb 12 20:33 . drwx------. 4 vagrant vagrant 4096 Feb 12 20:34 .. -rw-rw-r--. 1 vagrant vagrant 0 Feb 12 20:33 file1 → sudo bash -c "rsync -aP /home/joker/trans/ /home/vagrant/trans/ && chown -R vagrant.$(id -gn vagrant) /home/vagrant/trans" sending incremental file list ./ file2 0 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/3)
這裡使用者joker的trans子目錄同步到使用者vagrant嘗試與您的使用者重現並查看差異。(小丑有 sudo 權限)
(*) 注意 rsync 命令中的斜杠,它們很重要