如何在 CentOS 7 上安装和配置 Dropbox 作为服务


在本文中,我们将学习如何在 CentOS 7 服务器上配置和安装 Dropbox 客户端并将其作为服务运行。这使得服务器能够连接到 Dropbox 并保持文件的副本同步。要完成设置,我们需要一个具有 Sudo 权限的非 root 用户或一个 root 用户。

安装 Dropbox 客户端

我们可以从以下链接下载最新的 Linux Dropbox 客户端。

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

下载后,我们需要为客户端软件创建一个文件夹并解压缩我们下载的压缩文件。

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

由于客户端已下载并解压缩,我们需要将 Dropbox 客户端帐户与服务器关联。

关联 Dropbox 客户端

我们需要在服务器上我们想要存储 Dropbox 文件的文件夹中运行以下命令。

# cd /usr/share/dropbox
# /opt/dropbox-client/dropboxd
# /opt/dropbox-client/dropboxd
This computer isn't linked to any Dropbox account...
Please visit https://www.dropbox.com/cli_link_nonce?nonce=9c4d26a095e82e2a0ca5e8029d66236f to link this device.

我们需要复制红色链接代码并将其粘贴到任何浏览器中。

输入您的 Dropbox 帐户的凭据,并在点击继续时保存。

This computer is now linked to Dropbox. Welcome Chandra

正如我们所看到的,我们的 Dropbox 帐户已与服务器关联,我们可以按 Ctrl+C 退出我们运行以同步帐户的 Dropbox 命令行框。

设置服务脚本

我们需要复制以下脚本并在 /etc/init.d 文件夹和 /etc/systemd/system/dropbox.service 文件夹下为 Centos 7 创建这两个文件。

以下是 Dropbox.service 的代码

# /etc/systemd/system/dropbox.service
[Unit]
Description=Dropbox is a filesyncing sevice provided by dropbox.com. This service starts up the dropbox daemon.
After=network.target syslog.target
[Service]
Environment=LC_ALL=en_US.UTF-8
Environment=LANG=en_US.UTF-8
EnvironmentFile=-/etc/sysconfig/dropbox
ExecStart=/etc/init.d/dropbox start
ExecReload=et/cini/t.ddropbo/x restart
ExecStop=et/cini/t.ddropbo/x stop
Type=forking
[Install]
WantedBy=multi-user.target

以下是 Dropbox 服务的代码

# /etc/init.d/dropbox
#!/bin/sh
# To configure, add line with DROPBOX_USERS="user1 user2" to /etc/sysconfig/dropbox
# Probably should use a dropbox group in /etc/groups instead.
# Source function library.
. /etc/rc.d/init.d/functions
prog=dropboxd
lockfile=${LOCKFILE-/var/lock/subsys/$prog}
RETVAL=0
start() {
   echo -n $"Starting $prog"
   if [ -z $DROPBOX_USERS ] ; then
   echo -n ": unconfigured: $config"
   echo_failure
   echo
   rm -f ${lockfile} ${pidfile}
   RETURN=6
   return $RETVAL
   fifor dbuser in $DROPBOX_USERS; do
   dbuser_home=`cat /etc/passwd | grep "^$dbuser:" | cut -d":" -f6`
   daemon --user $dbuser /bin/sh -c "/opt/dropbox/dropboxd&"
   done
   RETVAL=$?
   echo
   [ $RETVAL = 0 ] && touch ${lockfile}
   return $RETVAL
}
status() {
   for dbuser in $DROPBOX_USERS; do
   dbpid=`pgrep -u $dbuser dropboxd | grep -v grep`
   if [ -z $dbpid ] ; then
   echo "dropboxd for USER $dbuser: not running."
   else
   echo "dropboxd for USER $dbuser: running (pid $dbpid)"
   fi
   done
}
stop() {
   echo -n $"Stopping $prog"
   for dbuser in $DROPBOX_USERS; do
   dbuser_home=`cat /etc/passwd | grep "^$dbuser:" | cut -d":" -f6`
   killproc /opt/dropbox/dropboxd
   done
   RETVAL=$?
   echo
   [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}
# See how we were called.
case "$1" in
start)
start
;;
status)
status
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $prog {start|status|stop|restart}"
RETVAL=3
esac

为脚本提供执行权限

之后,我们需要授予脚本执行权限。

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

我们需要为将运行 Dropbox 的系统用户提供脚本。

# vi /etc/systemd/dropbox

使用以下行创建文件

DROPBOX_USERS="Chandra"

我们需要启动它们并在启动时启用它们,使用以下命令

# systemctl daemon-reload
# systemctl start dropbox
# systemctl enable dropbox

取消关联 Dropbox 帐户

要取消关联 Dropbox 帐户,我们需要停止服务

# service dropbox stop

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

# vi /etc/defaults/dropbox

然后删除用户的 Dropbox 目录

# rm -rf /chandra/Dropbox

在此设置和配置之后,我们能够关联存储在 Dropbox 上的数据,并且现在可以关联或取消关联服务器与 Dropbox 帐户,以便可以将数据备份或同步到 Dropbox 帐户。

更新于:2019年10月18日

258 次查看

开启您的 职业生涯

通过完成课程获得认证

开始
广告