通过 Ubuntu Server 12.04 进行 Dropbox NAS 复制

通过 Ubuntu Server 12.04 进行 Dropbox NAS 复制

背景

我有一台 D-LINK DNS-320 NAS,它可以很好地提供 SMB 共享,但仅此而已。我已将 NAS 上的卷安装到我的 Ubuntu Server 12.04 VM 上,该 VM 为我运行,用于多个内部和外部站点的生产。

我自己的文件、图片等等...不久前被移到了 NAS 上以我自己的名字命名的文件夹中。

Dropbox

此后,我按照另一篇文章的步骤安装了 Dropbox,并将其变成守护进程,这导致我的用户主文件夹里面有一个名为 Dropbox 的新文件夹,该文件夹的复制毫无问题。

我的问题来自于,在该文件夹中,我通过挂载创建了一个名为 Documents 的软链接,指向 NAS 上以我的名字命名的文件夹。即

/主页/用户/Dropbox/文件-> /mnt/nas1/vol1/文件/用户

问题

现在,每当我重新启动时,我都觉得 NAS 在 Dropbox 启动之前没有安装,因为重新启动 Ubuntu 服务器会导致 Dropbox 清除我的所有文件。然后,如果我通过 SSH 登录并运行他们的 python 脚本来重新启动 Dropbox,它会再次找到所有内容(几乎所有内容)并开始上传。这种来回反复导致我出现问题并丢失了一些文件。

当前状态

我现在已经在我的 Ubuntu 服务器上禁用了 Dropbox daomon,并且目前正在与 Dropbox 合作尝试恢复我的所有文件。

完成此操作后,我需要想出一个更好的方法。

创见

我最初的想法是 Dropbox 会简单地复制我的所有文档,不仅允许所有内容在智能手机、平板电脑、笔记本电脑和台式机之间同步,还允许我在 NAS 上保留同步副本以供备份。

显然,如果我无法解决上述问题,我就无法做到这一点,所以我正在寻求一些帮助,并欢迎大家提出想法。

答案1

我通过向 Dropbox 的支持团队发送了该链接,得到了关于这篇文章的答复,以下是他们答复的主要部分。

“不幸的是,Dropbox 在与网络文件系统一起使用时无法完全工作。Dropbox 报告此错误是因为 Dropbox 应用程序无法完全访问此位置。

问题在于,当文件发生变化时,网络文件系统不会发送消息。Dropbox 首次启动时会进行深度文件扫描,并检测更改并同步它们。然而,在正常运行期间,Dropbox 会等待“文件更新事件”,并且只有物理连接的驱动器才会发送这些事件。

因此,我已经在 Ubuntu Server 12.04 上将 Dropbox 配置为运行到用户自己的文件夹,并且我在 cron 作业中使用 rsync 每小时复制到我的 NAS。

答案2

一些 NAS 操作系统提供自己的 Dropbox 应用程序,这基本上是唯一“干净”的,即“受支持的”方式,可以将 Dropbox 文件夹的同步副本保存在 NAS 或任何网络位置上。其中一些应用程序不像实际的桌面客户端那样工作,因为它们不同步/缺少上传渠道等。我读到过一种可能的黑客攻击(据说对某些人来说没有问题)是将符号链接放在本地驱动器上的网络文件夹上,并将 Dropbox 客户端指向该符号链接。没有尝试过,也不记得来源了,抱歉!我尝试过和你一样的事情,非常痛苦……我不确定 Dropbox 支持是否告诉了你全部真相,因为必须成为一种让许多可用网络协议发送文件更新事件的方法。我怀疑他们有这样或那样的理由不让这个工作 - 你知道你不是第一个想要这个功能的人...

相关内容