我正在编写一个脚本,以便在完成同步后将文件移出Dropbox中的某个文件夹。
例如,我希望有一个名为“TrashBackup”的文件夹,只要我把东西放在那里,(在完成同步之后)我的服务器将其拾取并将其从Dropbox移出到文件系统中的另一个位置(最终从我的笔记本电脑中删除它)。
我正在使用pyinotify,但问题是我不知道如何知道它何时完成同步。我可能会在一个可能非常大的文件未完成传输之前移动。
我正在考虑设置一个计时器,以查看文件最后一次更改的时间,如果超过20分钟,则继续将其移出Dropbox ..但这似乎是一个hackaround。此外,如果我正在传输1GB文件,我可能会根据Dropbox的速度和我当地的带宽使用情况来推动我的运气。
也许我应该开始监控.dropbox.cache文件夹?有什么想法吗?
答案 0 :(得分:2)
为什么不尝试使用Dropbox CLI?有几种方法可以证明对你有用。
为了实现您的具体目标,我可以考虑两个有用的命令:dropbox status
和dropbox filestatus
。同步完成后,前者将返回“空闲”状态。后者返回一个或多个文件的同步状态。
答案 1 :(得分:0)
您可以使用API(具体来说,/ metadata:https://www.dropbox.com/developers/reference/api#metadata)偶尔轮询该文件夹(例如每5-10分钟)以查看是否有新内容,如果有,请执行此操作如预期的。在这种情况下,API的优点是文件只有在完成同步后才会显示。 (建议不要监控.dropbox.cache。)