如何在无头 GNU/Linux 服务器上更改 Dropbox 目录?

如何在无头 GNU/Linux 服务器上更改 Dropbox 目录?

我已经安装Dropbox 2.0.0 通过命令行在我的家庭服务器(Ubuntu Server 12.04)上用于异地自动备份,但我无法更改 Dropbox 守护程序保持同步的目录。

我尝试了以下方法:

官方文档说使用桌面应用程序,但这不适用于我的情况。但是我在台式机上安装了桌面应用程序并更改了默认文件夹位置,但我找不到此更改存储在 ~/.dropbox/ 目录中的位置,因此我可以在服务器上进行相同的更改。

这一页(以及其他几个人)建议Python 脚本来完成这项工作。查看脚本,它会打开一个名为 ~/.dropbox/dropbox.db 的 SQLite 数据库,而我的 Dropbox 安装中并不存在该数据库,这让我相信该脚本已经过时了。

此论坛主题建议在 config.db 数据库中手动插入所需行,我照做了,但没有任何效果。我检查了台式机上的同一个数据库文件,它没有 dropbox_path 键,因此我推测该线程中的信息对于 2.0 版来说也已过时。

我曾尝试通过 X11 转发通过 SSH 启动 Dropbox GUI 配置向导,正如其中一个答案所建议的那样,但二进制文件必须检测到本地 X11 安装不存在,并且它会启动一个命令行守护程​​序,这没有提供任何方法来更改我需要的选项。

我目前正在使用符号链接,正如答案所建议的那样,但这是一个拼凑物。我想知道正确的更改方法。

如何在无头 GNU/Linux 服务器上更改 Dropbox 目录?

更新:我放弃了 Dropbox,开始使用复制。他们的 Linux 工具和支持远胜于 Dropbox。我把这个问题留在这里,希望有一天有人能回答它。

答案1

以下是我的诀窍:

首先我删除主文件夹中创建的所有相关文件夹

rm -rf ~/.dropbox-dist

我还删除了 Dropbox 默认文件夹:

rm -rf ~/Dropbox

因此我通过定义 HOME 环境变量重新安装了 dropbox 守护进程,如下所示:

HOME=/data/other_folder dropbox.py start -i

接下来,通过运行手动启动 dropboxd 守护程序:

HOME=/data/other_folder /data/other_folder/.dropbox-dist/dropboxd

然后等待它直至完成。

答案2

你可以创建一个符号链接到~/Dropbox

ln -s <dir-that-you-want-to-sync> ~/Dropbox

答案3

这是 Linux 应用程序的一个真正缺点。在旧版本中,您可以修改设置文件。在最新版本中,似乎唯一的解决方案是$HOME在 Dropbox 启动之前更改变量。

假设我们希望“Dropbox”文件夹出现在/foo/bar

  1. 安装 Dropbox 到/foo/bar/.dropbox-dist
  2. 从以下位置下载用于控制 Dropbox 的 Python 脚本Linux 版 Dropbox页。
  3. 在这个脚本中,下面import os添加一行:os.environ["HOME"] = "/foo/bar"
  4. Dropbox 通过控制脚本控制/启动现在认为/foo/bar/是您的/home/username/

这意味着当使用控制脚本时,它现在会查找/foo/bar/.dropbox-dist/dropbox要执行的守护进程。配置文件将写入/foo/bar/.dropbox/。该/foo/bar/Dropbox/文件夹将用于文件同步。

答案4

我的解决方案是创建一个名为 dropb 的永久别名,并将 HOME 路径设置为新目录。

echo 'alias dropb="HOME=/media/your/path dropbox"' >> ~/.bash_aliases
source ~/.bash_aliases

然后你就可以像普通dropbox一样使用它

dropb start -i
dropb status
dropb exclude add ./my_wife/shoe_collection

相关内容