如何从远程完整文件更新不完整的数据文件,仅传输丢失的数据?

时间:2017-06-30 15:48:44

标签: python logging ftp diff rsync

在你开始将我标记为重复之前,我正在非常具体的约束下工作:我的两个数据文件不在同一个系统上(完整文件是远程的),最终目标是传输所需的绝对最小数据(它太贵了!)。远程计算机支持rsync并运行ftp服务器。

GPS接收器实时记录位置数据(比如1Hz)。在记录时,它会将数据实时传输到日志文件realtime.log。但是,有时系统会搞砸,某些数据不会传输到实时日志文件。在每小时结束时,接收方创建一个新的日志文件hourly.log并传输该完整文件。问题是hourly.log中的大部分数据都是冗余的,字节需要转移资金。我需要一种方法来将远程每小时日志文件(包含完整数据)与本地实时日志文件进行比较,并仅传输丢失的数据。假设如果数据位于realtime.log,则它始终位于hourly.log

例如,假设realtime.log包含:

2
3
5

hourly.log包含

1
2
3
4
5
6

我希望将realtime.log更新为等同于hourly.log 而不转移第2,3和5点的数据。这可能吗?

编辑:似乎我真的在寻找一种方法来强制rsync逐行比较两个文件(好像每一行都是它自己的文件)只传输新的或更改过的行。

1 个答案:

答案 0 :(得分:0)

使用本地文件对远程文件进行差异,并将diff的输出重定向到本地文件。