2

我正在编写一个脚本,以便在完成同步后将文件从 Dropbox 中的某个文件夹中移出。

例如,我想要一个名为“TrashBackup”的文件夹,只要我把东西放在那里,(在完成同步之后)我的服务器就会将它从 Dropbox 中取出并移到文件系统中的另一个位置(最终删除它从我的笔记本电脑)。

我正在使用 pyinotify 但问题是我不知道如何知道它何时完成同步。我可能最终会在一个可能非常大的文件没有完成传输之前移动。

我正在考虑设置一个计时器来查看文件最后一次更改的时间,如果超过 20 分钟,则继续将其移出 Dropbox。但这似乎是一种变通办法。此外,如果我正在传输 1GB 的文件,我可能会根据 Dropbox 的速度和我的本地带宽利用率来推动我的运气。

也许我应该开始监控 .dropbox.cache 文件夹?有任何想法吗?

4

2 回答 2

2

为什么不尝试使用Dropbox CLI?那里有几种方法应该证明对您有用。

为了实现您的特定目标,我可以想到两个有用的命令:dropbox statusdropbox filestatus. 同步完成后,前者将返回“空闲”。后者返回一个或多个文件的同步状态。

于 2012-04-08T19:26:22.973 回答
0

您可以使用 API(特别是 /metadata: https://www.dropbox.com/developers/reference/api#metadata)偶尔轮询该文件夹(例如每 5-10 分钟)以查看是否有任何新内容在那里,如果是这样,请根据需要执行移动。在这种情况下,API 的优点是文件只会在完成同步后才会显示。(不建议监控 .dropbox.cache。)

于 2012-04-09T16:23:27.403 回答