Ubuntu 18.04 で 1 つのフォルダーが 2 つの異なる場所に存在する

Ubuntu 18.04 で 1 つのフォルダーが 2 つの異なる場所に存在する

Ubuntu の 2 つの異なる場所に同じフォルダーを配置したいです。一方の場所で何かを更新すると、もう一方の場所でも更新される必要があります。

どうすれば実現できるでしょうか?

答え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どちらか一方で行うすべての操作は、もう一方でも自動的に実行されるようにします。

2つのディレクトリ間での同期やコピーは必要ありません。バインドマウントもう一つのビュー元のディレクトリに戻り、一方のディレクトリで発生した事象はもう一方のディレクトリでも発生します。

  1. 新しいディレクトリを(ユーザーとして)作成します/home/pandey/mirror:

    mkdir /home/pandey/mirror
    
  2. バインドマウント元のディレクトリを新しく作成したパスに移動します。これにはルートアクセスが必要です。

    sudo mount --bind /home/pandey/original /home/pandey/mirror
    
  3. 楽しむ。

これを元に戻すには、

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

この質問と、StackExchange の優れた自己回答も参照してください。バインドマウントについて

答え3

crontab ジョブを設定することでこれを実行できます:

  • ターミナルを開いて入力してくださいcrontab -e
  • ivim エディタの挿入モードを有効にするには、これを押します。

そこに実行したいコマンドを入力すると、フォルダー内のすべてのファイルを別のフォルダーにコピーできます。たとえば、すべてのファイルを にコピーする場合は、/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

関連情報