2017-02-26 84 views
1

我正在寻找一种方法来跟踪文件夹,子文件夹和文件的变化 - 不是实时。 基本上我想知道哪些文件夹/文件从上次查看时发生了更改(更改或删除)。通过保存跟踪文件系统(文件夹/文件)状态

一个简单的解决方案是制作整个文件夹/文件的副本,然后在我想知道发生了什么变化时做一些比较。我可以触摸这些文件,以便它们不占用任何空间并查看文件日期以查看它是否已更改。 ...但它似乎不是一个好的选择。

这将发生在Linux系统上。如果有人想到文件系统的某些特定技巧,我会观看的文件系统将被挂载(不受我的控制),但是我将控制另一个文件系统。

有没有人得到一个很好的解决方案?

+0

您可以使用使用-mtime标志查找命令。例如,查找过去24小时内修改的所有文件:find/directory /或/ mount/point -mtime 1.查找已删除的文件比较困难。目的是什么?你想要备份文件吗? –

+0

不,我不想备份文件。我想知道对文件系统(文件夹/文件)做了什么,所以我可能会对文件系统的另一个副本执行相同的操作。 – AxAn

+0

你对使用的文件系统有任何控制权吗?你所要求的几乎就是ZFS快照可以轻松完成的事情。 –

回答

1

Git似乎是一个很好的解决方案。您可以跟踪更改,返回到不同版本的文件,创建分支,并获取任何提交的差异,以了解您当前的文件状态。

你可以做一个免费的类上手

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

你可以进入你要跟踪的文件夹中。然后用

的git的init文件夹

添加的所有文件和文件夹

git的补充。

提交修改文件查看变更

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。 COM /问题/ 9090817 /复制 - 文件 - 使用 - rsync的 - 从远程服务器到本地机器 – aowen