关于文件差分的问题

hunter_goat 2009-03-14 10:51:04
问题是这样的:现在有一个目录A,该目录下的文件可能被编辑或修改而该目录下的文件会每隔几分钟会被拷贝到另一个目录B下(crontab控制),因为文件可能比较大,并且在拷贝该目录的同时还有很多其他的操作,执行的时间会比较长。

所以现在想要做一个差分。

差分1>>当该A目录下的文件被删除或被修改时,才将该A目录下的所有文件拷贝到另一个目录B下。
差分2>>当该A目录下的文件被修改时,将修改的文件拷贝到目录B,当该A目录下的文件被删除时,到目录B下将A中删除的文件删除。

差分2中删除的情况应经解决,利用comm命令。

大家有没有好的解决办法?
...全文
155 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hunter_goat 2009-03-14
  • 打赏
  • 举报
回复
to>飞:
这是项目的要求。这是类似新闻发布系统的一个小项目。该项目挂在我们的网站上并要求对更新的内容进行即时的反映,我们也没有办法。
对硬件不用担心,服务器的配置不错。……@……。并且我们的项目也是同步的,每隔一段时间就会把生成的文件从一个目录拷贝到另一个目录,没有问题!

可能是我的问题没有说清楚,A目录下的文件比较大,不是说是有好几个G,要不现在的系统早就出问题了。只不过说它对时间的影响比较大,影响到我们项目的即时反映。
fibbery 2009-03-14
  • 打赏
  • 举报
回复
由于文件很大,不建议一发现被修改就去做同步操作,这样,有可能造成修改频繁同步频繁,导致磁盘IO超负荷。

建议每隔一定时间判断是否需要同步,即将被修改和时间间隔作为同步的双重条件。
iambic 2009-03-14
  • 打赏
  • 举报
回复
已经有很多目录同步软件了。不必要自己写。
fibbery 2009-03-14
  • 打赏
  • 举报
回复
如果是生成数据到A目录的程序,与使用B中数据的程序不是一个公司开发的,估计只能使用Copy的方式来同步。否则,可以定义数据结构,方便同步。

例如:
1、文件为普通文本,在数据生成时建立文本文件的行索引,即,建立文本文件的索引文件,通过索引文件,我们可以知道哪一个行被修改,增加了那些行,然后,同步B中的文件;
2、文件为二进制文件,数据结构定长,每一个数据库可以有多种状态,比如:new、Modified、Deleted,进行文件数据比较,然后更新文件。当然,这个文件也可以建立索引,方便检索。

否则,我认为只能通过复制、删除来同步。

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧