2017-02-26 20 views
1

サブフォルダとファイルを含むフォルダの変更をリアルタイムではなく随時追跡する方法を探しています。 基本的には、最後に見たときから変更(変更または削除)されたフォルダ/ファイルを知りたいと思っています。ファイルシステム(フォルダ/ファイル)の状態を保存して追跡する

単純な解決策は、フォルダ/ファイル全体のコピーを作成し、何が変更されたのかを知りたいときにdiffを実行することです。私はファイルをタッチしてスペースを取らず、ファイルの日付を見て変更されたかどうかを調べることができました。 ...しかし、それは良いオプションのようには思われません。

これはLinuxシステムで発生します。誰かがファイルシステムの特定のトリックを考えていたら、私が見るファイルシステムは(自分のコントロールから)マウントされますが、他のファイルシステムは私がコントロールすることになります。

誰にでも良い解決策がありますか?

+0

を追加しますfindコマンドに-mtimeフラグを付けます。たとえば、過去24時間以内に変更されたファイルはすべてfind/directory /または/ mount/point -mtimeとなります。1.削除されたファイルを見つけるのはもう少し難しいです。目的は何ですか?ファイルをバックアップしようとしていますか? –

+0

いいえ、私はファイルをバックアップしようとしていません。私は、ファイルシステム(フォルダ/ファイル)に何が行われたのかを知りたいので、同じことをファイルシステムの別のコピーにも行うことができます。 – AxAn

+0

あなたは使用されているファイルシステムを制御できますか?何を求めているのかは、まさにZFSスナップショットのようなものが非常に簡単にできることです。 –

答えて

1

Gitは良い解決策のようです。変更を追跡したり、ファイルの異なるバージョンに戻ったり、ブランチを作成したり、ファイルの現在の状態をコミットしたりすることができます。

あなたは、あなたが追跡したいフォルダに行くことができます

https://www.codeschool.com/learn/git

を始めるために自由なクラスを行うことができます。その後、すべてのファイルとフォルダ

gitの追加を追加

のgit initを

でフォルダを初期化します。

コミット

Gitはgitのステータス

はトンを追加、変更

を参照するファイルを変更した後、 "いくつかのメッセージ"

-mをコミット変更彼は、変更されたファイルを新しい

Gitは

を "あなたが変更されたファイルは、" その後、コミット

Gitは-mをコミットしない "一部のメッセージ" を使用でき

+0

私はより明確にすべきです:私が見ているファイルシステムはおそらく読み取り専用であり、可能であってもそれにファイルを追加したくないので、そのフォルダでgitを使うと動作しません。 – AxAn

+0

@AxAnよりよい解決策があるかもしれませんが、ローカルシステムにすべてのアイテムをコピーするためにrsyncを試すことができます。次に、リモートとローカルの違いを得るために--itemize-changesを指定してrsyncを実行することができます。オプション-nを使用して同期しないでください。をご覧ください http://serverfault.com/questions/618735/can-i-use-rsync-to-create-a-list-of-only-changed-files および http:// stackoverflowを参照してください。リモートサーバからローカルマシンへのrsyncを使用したコピー/ファイル/コピー/ファイル/ 9090817 – aowen

関連する問題