如何在 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 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告