如何在CentOS7上安装Dropbox客户端作为服务

来自菜鸟教程
跳转至:导航、​搜索

介绍

在本教程中,我们将向您展示如何安装 Dropbox 客户端,并将其配置为在 CentOS 7 服务器上作为无头服务运行。 这将允许您的服务器连接到 Dropbox,以便您可以在服务器上保持同步的 Dropbox 文件副本。

先决条件

您必须有一个具有超级用户权限的非 root 用户 (sudo)。 要进行设置,请至少按照 使用 CentOS 7 的初始服务器设置教程中的步骤 1 到 3 进行操作。 本教程中的所有命令都将以该非 root 用户身份执行。

准备就绪后,我们将安装 Dropbox 客户端。

安装 Dropbox 客户端

可以使用以下命令将最新版本的 Linux Dropbox 客户端下载到您的主目录:

cd ~
curl -Lo dropbox-linux-x86_64.tar.gz https://www.dropbox.com/download?plat=lnx.x86_64

现在您的主目录中将有一个名为 dropbox-linux-x86_64.tar.gz 的文件。

注意: 如果您运行的是 32 位发行版,请使用此命令下载 32 位 Linux 客户端:

cd ~
curl -Lo dropbox-linux-x86.tar.gz https://www.dropbox.com/download?plat=lnx.x86

接下来,使用以下命令将 Dropbox 存档的内容提取到 /opt/dropbox

sudo mkdir -p /opt/dropbox
sudo tar xzfv dropbox-linux-x86_64.tar.gz --strip 1 -C /opt/dropbox

Dropbox 客户端现在在您的服务器上,但您需要将其与您的 Dropbox 帐户相关联。

链接 Dropbox 客户端

要将您的 Dropbox 客户端与您的 Dropbox 帐户关联,请运行以下命令(作为您要在其主目录中存储 Dropbox 文件的用户):

/opt/dropbox/dropboxd

这会在前台启动 Dropbox 客户端,因此您目前无法输入任何其他命令。 第一次运行客户端时,您应该看到如下所示的输出:

Host ID Link:This computer isn't linked to any Dropbox account...
Please visit https://www.dropbox.com/cli_link_nonce?nonce=ac8d12e1f599137703d88f2949c265eb to link this device.

在本地计算机上的 Web 浏览器中访问输出中的 URL(在上面的示例中突出显示)。

登录 Dropbox(如果您尚未登录),然后单击连接按钮:

在 Web 浏览器中看到成功消息后,您应该会在 CentOS 服务器上看到以下输出:

Link success output:This computer is now linked to Dropbox. Welcome Sammy

现在您的 Dropbox 帐户已与客户端关联。 现在,您的主目录中应该有一个名为“Dropbox”的目录。 这是它将存储您同步的 Dropbox 文件的位置。

Ctrl-C 暂时退出运行 Dropbox。

下一步是设置一些脚本,以便 Dropbox 将作为服务运行,这样您就无需登录客户端即可继续运行。

设置服务脚本

要将 Dropbox 作为服务启动,您需要创建一个 init 脚本和一个 Systemd 单元文件。 为了省去麻烦,您可以使用以下命令下载它们:

sudo curl -o /etc/init.d/dropbox https://gist.githubusercontent.com/thisismitch/6293d3f7f5fa37ca6eab/raw/2b326bf77368cbe5d01af21c623cd4dd75528c3d/dropbox
sudo curl -o /etc/systemd/system/dropbox.service https://gist.githubusercontent.com/thisismitch/6293d3f7f5fa37ca6eab/raw/99947e2ef986492fecbe1b7bfbaa303fefc42a62/dropbox.service

接下来,使用以下命令使脚本可执行:

sudo chmod +x /etc/systemd/system/dropbox.service /etc/init.d/dropbox

该脚本需要 /etc/systemd/dropbox 文件包含将运行 Dropbox 的系统用户列表。 创建文件并使用以下命令打开它进行编辑:

sudo nano /etc/sysconfig/dropbox

添加一行,指定 DROPBOX_USERS 等于您的系统用户名。 例如,如果您的用户名是“sammy”,它应该如下所示:

/etc/sysconfig/dropbox

DROPBOX_USERS="sammy"

Ctrl-x,然后按 y,然后按 Enter 保存并退出文件。

重新加载 Systemd 守护进程,以便您可以使用单元文件:

sudo systemctl daemon-reload

现在 Dropbox 已准备好作为服务启动。 运行这个命令来启动它:

sudo systemctl start dropbox

然后运行这个命令来配置服务在你的服务器启动时启动:

sudo systemctl enable dropbox

现在 Dropbox 客户端作为服务运行,并且会在您的服务器启动时自动启动。

安装 Dropbox CLI

Dropbox 还包括一个您可能想要安装的命令行界面 (CLI),以便您可以配置 Dropbox 客户端。

要将其下载到您的主目录,请运行以下命令:

cd ~
curl -LO https://www.dropbox.com/download?dl=packages/dropbox.py

现在,您的主目录中将有一个名为 dropbox.py 的文件,即 Dropbox CLI。

使用此命令使其可执行:

chmod +x ~/dropbox.py

然后,在您的主目录中,创建一个名为 .dropbox-dist 的符号链接,指向您的 Dropbox 安装路径。 这是必要的,因为 Dropbox CLI 要求 ~/.dropbox-dist 包含您的 Dropbox 安装:

ln -s /opt/dropbox ~/.dropbox-dist

现在您可以使用以下命令从您的主目录运行 Dropbox CLI:

~/dropbox.py

这将打印出一个基本的帮助页面。 下一小节将介绍如何使用 Dropbox CLI 执行一些基本操作。

如何使用 Dropbox CLI

请记住,在没有任何选项的情况下运行 CLI,并打印出如何使用它。

如果要检查 Dropbox 的状态,请使用 status 命令:

~/dropbox.py status

如果您的所有文件都已同步,您应该会看到以下消息:

Output:Up to date

您还可以使用它来关闭自动 LAN 同步功能,该功能会尝试同步 LAN 上的相关文件:

~/dropbox.py lansync n

另一个方便的命令是 exclude。 这将允许您指定不应在服务器上同步的文件和目录。 例如,如果您不希望您的服务器从 Dropbox 下载 photos 目录,您可以运行以下命令:

~/dropbox.py exclude  add ~/Dropbox/photos

然后,您可以使用以下命令验证从服务器中排除了哪些文件和目录:

~/dropbox.py exclude list

随意使用 CLI 看看你还能用它做什么。

如何链接其他 Dropbox 帐户

如果您想关联更多 Dropbox 帐户,请按照此部分操作。

可以将多个 Dropbox 帐户链接到您的服务器。 但是,对于要关联的每个 Dropbox 帐户,您都需要一个额外的系统用户。 如果您不知道如何将用户添加到您的 CentOS 服务器,请按照本教程:如何在 CentOS 上添加和删除用户。

拥有要使用的系统用户帐户后,以该用户身份登录到您的服务器。

运行 /opt/dropbox/dropboxd。 和以前一样,这将输出一个 URL 以将 Dropbox 帐户链接到您的服务器。

使用您要链接到服务器的帐户登录 Dropbox。 然后访问您服务器上的 URL,然后单击连接按钮。

接下来,编辑 /etc/default/dropbox

sudo nano /etc/default/dropbox

将新系统用户添加到 Dropbox 用户列表中。 例如,如果您有两个系统用户运行 Dropbox,“sammy”和“ben”,它看起来像这样。

/etc/default/dropbox

DROPBOX_USERS="sammy ben"

Ctrl-x,然后按 y,然后按 Enter 保存并退出文件。

现在重启 Dropbox 服务:

sudo service dropbox restart

现在您的服务器已链接到多个 Dropbox 帐户。

要在新用户上使用 CLI,请务必以新用户身份再次执行 Install Dropbox CLI 部分。

如何取消关联 Dropbox 帐户

如果您想取消关联 Dropbox 帐户,请按照以下步骤操作。

首先,停止服务:

sudo service dropbox stop

然后编辑 /etc/defaults/dropbox 并从列表中删除用户。

然后删除用户的 Dropbox 目录。 例如:

sudo rm -r ~/ben/Dropbox

然后,如果您的服务器上仍有其他 Dropbox 帐户与之关联,请再次启动 Dropbox 客户端:

sudo service dropbox start

最后,如果您想完全限制访问,您可以转到您的 Dropbox 帐户安全页面 并删除任何链接的设备。

结论

Dropbox 客户端现已安装并在您的服务器上运行。 您的服务器现在应该与您的 Dropbox 帐户链接并同步。