両方のディレクトリを同期する方法は?

両方のディレクトリを同期する方法は?

次のように、crontabを使用してLinuxパーティションとWindowsパーティション間の2つのディレクトリを同期させたいと思います。

24 9 * * * cp -r /home/fan/Data /media/T/Data

ただし、ソースディレクトリから欠落しているファイルをコピーする代わりに、元のDataディレクトリにDataというディレクトリを作成します。この問題を完全に解決するのに適したオプションはcpマニュアルにありません。 srcからdirに欠落しているファイル(ターゲットディレクトリにあります)をどのようにコピーできますか?

しかし、copyコマンドを実行するにはTディスクをマウントする必要があるようですが、コマンドを実行する必要があるときに自動的にディスクをマウントするにはどうすればよいですか(mountコマンドはrootとして実行する必要があります)。

コマンドで例外が発生した場合、エラーメッセージをどのように受け取りますか?

ベストアンサー1

データ同期のためのツールはですrsync。次のようにディレクトリレベルで同期したり、ディレクトリの内容のみを同期したりできます。

はい

ディレクトリ同期
24 9 * * * rsync -a /home/fan/Data /media/T/
コンテンツの同期
24 9 * * * rsync -a /home/fan/Data/ /media/T/Data/

最初の例では、ディレクトリをDataディレクトリから/home/fanディレクトリに同期します/media/T。 2番目の例では、Dataディレクトリの内容を同期します/media/T/Data

追加のヒントとして、次の表記法を使用してターゲットディレクトリに同期します。

24 9 * * * rsync -a /home/fan/Data/ /media/T/Data/.

/.私のコマンドを読んだとき、rsync私はそれがより明確であることを知りました。

アクションの例

使い方はrsync、おそらく新しいユーザーを教育するときに直面する最も混乱した問題の1つです。

サンプル:

$ tree home/fan/Data/
home/fan/Data/
|-- file1
|-- file2
|-- file3
|-- file4
`-- file5
1. dir データの内容を同期します。
$ rsync -a home/fan/Data/ media/T/

Dataに内容を入れたので参考にしてくださいT

$ tree media/T/
media/T/
|-- file1
|-- file2
|-- file3
|-- file4
`-- file5

0 directories, 5 files
2. ディレクトリ同期
$ rsync -a home/fan/Data media/T/

ディレクトリDataT

$ tree media/T/
media/T/
`-- Data
    |-- file1
    |-- file2
    |-- file3
    |-- file4
    `-- file5

1 directory, 5 files

おすすめ記事