Arch Linux 终端(通过 ssh)+ Dropbox,但仅同步 1 个选定文件夹

Arch Linux 终端(通过 ssh)+ Dropbox,但仅同步 1 个选定文件夹

抱歉,标题有点奇怪...

我 (仍然) 是 Linux 的新手,正在对没有屏幕输出选项的 Arch Linux 设备执行 shh 命令。因此,所有操作都必须在终端 (不是我的超级元素) 中完成。

我使用 Linux 设备来玩 Python(这很有趣)。现在我想将我的脚本文件夹与 Dropbox 同步。由于我没有足够的空间将所有 Dropbox 文件同步到设备,我想知道如何设置它以使其仅与我选择的文件夹同步。

目前我还没有安装 dropbox,因为我担心它会立即开始将我的所有 dropbox 文件夹同步到我的 linux 设备上。

奖励信息:我已经在我的 Dropbox 中创建了一个文件夹,其中包含一些我想要与我的 Linux 设备同步的 py 脚本。

答案1

Dropbox 现在提供了一个 Python 脚本,允许您排除文件夹。您可以从以下位置下载这里

要排除某个文件夹,只需使用以下命令

python ~/dropbox.py exclude 1Password

答案2

安装 Dropbox

# mkdir -p /tmp/dropbox
# cd /tmp/dropbox
# curl -OL http://dl.getdropbox.com/u/6995/dbmakefakelib.py
# curl -OL http://dl.dropbox.com/u/637552/Dropbox/dbreadconfig.py
# curl -L -o dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86_64

如果您想要 32 位客户端,请使用 plat=lnx.x86。这将为我们的 Dropbox 安装文件创建一个临时目录,并下载两个必要的 Python 脚本:dbmakefakelib.py(用于创建 GUI 库的伪存根副本,以便启动 dropboxd 守护进程)和 dbreadconfig.py(用于显示 dropbox 配置信息)。

确定哪个用户将运行 Dropbox 客户端;这可以是专用用户,也可以是普通用户。您还可以在系统上运行多个 Dropbox 实例,因此您可以选择为多个用户设置它(尽管每个用户只能运行一个 Dropbox 实例)。对于此示例,我们将创建一个特殊用户“dropbox”,它将运行此 Dropbox 客户端。

# su - dropbox
$ cd ~/
$ tar xvzf /tmp/dropbox/dropbox.tar.gz
$ cd .dropbox-dist
$ python /tmp/dropbox/dbmakefakelib.py

dropboxd 运行了 15 秒而没有退出 - 成功了吗?dbmakefakelib.py 脚本需要 gcc,因此您必须在系统上安装 gcc。这会创建 GUI 库的假存根副本,以便 dropboxd 可以启动。最后,您可以看到它启动了 dropboxd;按 [CTRL]C 退出脚本。dropboxd 应该仍在后台运行:

$ ps ax | grep dropboxd
24001 pts/0    S      0:00 sh -c { /home/dropbox/.dropbox-dist/dropboxd; } 2>&1

现在 dropbox 正在运行,我们需要将其链接到现有帐户:

$ cd ~/
$ python /tmp/dropbox/dbreadconfig.py
host_id = 0bd9c5a15458fbc31f85e892faa7dac4
schema_version = 6

从上面获取 host_id。登录 Dropbox 网页界面,登录后,手动访问此 URL:

https://www.dropbox.com/cli_link?host_id=[HOST_ID]

将 [HOST_ID] 替换为 dbreadconfig.py 输出的 host_id。完成后,Dropbox 网站会告诉您已成功链接新计算机。转到您的帐户设置,然后转到我的计算机,您将看到列出的新计算机。

如果你还没有杀死dbmakefakelib.py启动的dropboxd进程,你会发现它已经在后台将文件从Dropbox下载到~/Dropbox/。

要在启动时在后台启动 dropboxd 守护程序,您可以将以下内容添加到 /etc/rc.d/rc.local init 脚本中:

daemon --user dropbox /bin/sh -c "/home/dropbox/.dropbox-dist/dropboxd&"

这将在后台以安装该程序的用户的权限启动 dropboxd(在本例中,用户为“dropbox”)。如果您想要执行系统范围的 initscript,请访问 Dropbox wiki,那里有一些您可以使用的示例,包括 Fedora/Red Hat 和 Debian/Ubuntu 的 initscript。它还提供了如何在 DJB 的 daemontools 下运行 Dropbox 的示例。

**提示确保所有文件夹都未同步。为 linuxbox 使用不同的 dropbox 帐户,并仅与其共享特定的脚本文件夹

相关内容