untagged – 在备份之前检测Linux上移动或重命名的文件的工具或脚本

基本上我正在搜索是否存在可以检测移动或重命名文件的工具或脚本,以便我可以获得重命名/移动文件的列表,并在网络的另一端应用相同的操作以节省带宽.

基本上磁盘存储很便宜,但带宽不是,问题是文件经常被重新组织或移动到更好的目录结构中,因此当你使用rsync进行备份时,rsync不会注意到它是重命名的或者移动文件并重新通过网络重新传输,尽管另一端有相同的文件.

所以我想知道是否存在可以记录所有文件及其名称的脚本或工具,然后在备份之前,它将重新扫描并检测移动或重命名的文件,然后我可以获取该列表并重新应用另一方面的移动/重命名操作.

这是文件的“常规”功能列表:

>大量不变的文件
>它们可以重命名或移动

[编辑:]这些都是很好的答案,我最终做的是查看所有的答案,并将编写一些代码来处理这个问题.基本上我现在正在思考/工作的是:

>使用AIDE之类的东西进行“初始”扫描,并使我能够对文件保持校验和,因为它们应该永远不会改变,因此它有助于检测损坏.
>创建一个inotify守护进程,它将监视这些文件/目录并记录与重命名有关的任何更改.将文件移动到日志文件.
>在某些边缘情况下,inotify可能无法记录文件系统发生的事情,因此最后一步是使用find在文件系统中搜索比上次备份更改时间的文件.

这有几个好处:

>来自AIDE的校验和/等能够检查/确保某些媒体没有被破坏
> Inotify可以降低资源使用率,无需反复重新扫描文件系统
>无需修补rsync;如果我必须修补我可以做的事情,但我宁愿避免修补事情以减轻负担,(IE不需要每次更新时重新修补).
>我之前使用过Unison并且非常好用,但是我可以发誓说Unison会在文件系统上保留副本并且它的“存档”文件会变得相当大吗?

解决方法

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...