加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

在Linux上,有什么比`find`或`diff -r`更快的方式来查看目录中的

发布时间:2020-12-13 17:25:43 所属栏目:Linux 来源:网络整理
导读:我使用tar在我的服务器上创建文件系统不同部分的快照,然后将该快照ftp到非现场位置进行存档. 我想只在事情发生变化时才开始这项行动.某些备份在所有系统的文件夹上运行,这些文件夹很少发生变化(即安装新软件或修改配置时). 每当发生变化时,我都想要一个完整
我使用tar在我的服务器上创建文件系统不同部分的快照,然后将该快照ftp到非现场位置进行存档.

我想只在事情发生变化时才开始这项行动.某些备份在所有系统的文件夹上运行,这些文件夹很少发生变化(即安装新软件或修改配置时).

每当发生变化时,我都想要一个完整的快照.我可以用find生成一个修改过的文件列表,但我真的只需要知道该列表的长度是0还是更大.使用find太慢了.

我知道有增量备份,我已经在其他情况下将rsync与ZFS结合使用了.但是,这里备份主机是FTP服务器(所以没有rsync),我需要完整的备份(因为备份存档用作恢复或克隆服务器的映像),我想要压缩输出(所以tar很方便).

编辑:请注意,我不是在寻找增量备份(我有这个),而是寻找快速(有点排除查找等)以及确定完整快照是否与最后一个相同的简单方法.也许我的措辞不太好.我现在编辑了这个标题.

解决方法

最近版本的GNU find有“-quit”动作,导致find立即停止搜索:

— Action: -quit

Exit immediately (with return value zero if no errors have occurred). This is different to ‘-prune’ because ‘-prune’ only applies to the contents of pruned directories,whilt ‘-quit’ simply makes find stop immediately. No child processes will be left running,but no more files specified on the command line will be processed. For example,find /tmp/foo /tmp/bar -print -quit will print only ‘/tmp/foo’. Any command lines which have been built by ‘-exec … +’ or ‘-execdir … +’ are invoked before the program is exited.

您可以使用find-expression查找已更改的文件,并在找到后立即使用-quit停止.这应该比继续扫描更快.

在Fileutils V4.2.3中添加了-quit

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读