如何在 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 帳戶。