如何在 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 帐户。