我已经安装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
。
- 安装 Dropbox 到
/foo/bar/.dropbox-dist
。 - 从以下位置下载用于控制 Dropbox 的 Python 脚本Linux 版 Dropbox页。
- 在这个脚本中,下面
import os
添加一行:os.environ["HOME"] = "/foo/bar"
- 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