我想生成差异,以便对sql数据库进行增量备份。
使用标准的unix'diff'工具会生成不必要的大文件,因为它们包含已删除行的全文。我只需要支持就可以在一个方向上进行修补(从完整转储和增量补丁生成当前数据库转储)。
我该怎么做呢?我到目前为止尝试使用diff -e和patch -e,但它似乎没有正常工作,因为生成的文件已损坏(可能是cygwin中使用的'ed'工具的问题)
答案 0 :(得分:1)
diff内置一个选项(-e选项),您可以使用该选项从差异中创建编辑脚本。
点击此处:查找“编辑脚本”部分
http://en.wikipedia.org/wiki/Diff
http://docs.freebsd.org/info/diff/diff.info.ed_Scripts.html
这是一个例子:
http://www.araxis.com/merge/topic_diff_report_editscript.html
另一种方法是创建一个补丁文件(参见'man patch')