Ubuntu 18.04 上一個資料夾有兩個不同位置

Ubuntu 18.04 上一個資料夾有兩個不同位置

我想在 Ubuntu 的兩個不同位置擁有相同的資料夾。如果我更新其中一個位置的某些內容,它也應該在其他位置更新。

我怎樣才能實現它?

答案1

正如評論中指出的那樣,但不是正確的答案:

在許多情況下,符號連結是最簡單的解決方案。

您可以在命令列上輕鬆建立它們(使用ln-s參數的命令)。您也可以使用 GUI 輕鬆建立它們:大多數檔案瀏覽器(nautilus 等)可讓您在按住修飾鍵 (CTRL+SHIFT) 的同時使用拖放操作(例如移動檔案)來建立符號連結。

命令列使用範例:

$ mkdir first_dir
$ ln -s ./first_dir ./second_dir
$ ls 
first_dir  second_dir

$ touch ./first_dir/test_1
$ touch ./second_dir/test_2

$ ls ./first_dir 
test_1  test_2

$ ls ./second_dir
test_1  test_2

答案2

使用綁定安裝

假設您有一個現有目錄/home/pandey/original並且想要鏡子這樣/home/pandey/mirror您在其中一個中所做的所有操作也會在另一個中自動完成。

這不需要在兩個目錄之間進行任何同步或複製。 A綁定掛載只是另一個看法到原始目錄,一個目錄中發生的情況也會發生在另一個目錄中。

  1. 建立(作為您的使用者)新目錄/home/pandey/mirror

    mkdir /home/pandey/mirror
    
  2. 綁定安裝原來的目錄移動到新建立的路徑。這需要 root 存取權限:

    sudo mount --bind /home/pandey/original /home/pandey/mirror
    
  3. 享受。

若要撤銷此操作,只需

sudo umount /home/pandey/mirror
rmdir /home/pandey/mirror

另請參閱 stackexchange 上的這個問題及其出色的自我回答關於綁定安裝

答案3

您可以透過設定 crontab 作業來完成此操作:

  • 打開你的終端機並輸入crontab -e
  • 按下i以啟動 Vim 編輯器的插入模式。

您可以在那裡輸入您想要執行的命令,這樣您就可以將該資料夾的所有檔案複製到另一個資料夾中。例如,如果您想要將所有文件複製到其中/home/user/folder_name/home/user/public您應該在文件中插入以下命令crontab

rsync /home/user/folder_name -r /home/user/public

這將複製所需時間間隔內的所有檔案。如果您想在每天 21:30 複製所有文件,您的編輯應該是:

 30 21 * * *  rsync /home/user/folder_name -r /home/user/public

欲了解更多信息定時任務這裡或使用man crontab.

相關內容