Dropbox на Ubuntu Server

Dropbox UbuntuМногие пользуются сервисом Dropbox для синхронизации данных между своими компьютерами. О том что такое Dropbox и как его установить я писал ранее. Между тем немногие знают, что сервисом можно пользоваться и без GUI (графической оболочки). В этой статье пойдет речь о том как установить Dropbox и для чего он нужен на сервере. Естественно, статья касается Ubuntu Server.

Зачем нужен Dropbox на сервере? Применений много... Одно из них - удобная заливка файлов на сервер. Гораздо удобней положить нужный файл в папку Dropbox, чем подключаться к серверу по какому-то протоколу. А второе применение, которое я использую – это резервные копии. Суть в следующем: периодически (каждый день) некий скрипт делает резервную копию важных данных на сервере и помещает ее в папку, которая синхронизируется через Dropbox. Согласитесь, это и удобно, и быстро. Допустим, ваш сервер – это web-сервер, на котором крутятся ваши сайты, и этот сервер вы арендуете не то что в другой стране, а на другом континенте, то есть физически к нему доступ для вас затруднен. Каждое утро получать резервную копию с этого сервера в свою папку на своем жестком диске безо всяких дополнительных телодвижений – просто сказка.

Но хватит лирики, перейдем непосредственно к установке. На моем сервере используется Ubuntu Server 10.04 LTS, но для более старших версий процесс установки отличаться не должен.

Установка Dropbox на Ubuntu Server

1. Заходим в консоль своего сервера и переходим в домашнюю папку. Скачиваем нужный нам архив (32-битный или 64-битный)

wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86"
wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86_64"

Распаковываем архив:

tar -xvzf dropbox.tar.gz

Запускаем dropboxd

~/.dropbox-dist/dropboxd

Нам будет показана информация о дальнейших шагах установки Dropbox:

This client is not linked to any account...
Please visit https://www.dropbox.com/cli_link?host_id=0501f86e946e3ff8232ecf027bb4239a&cl=en_US to link this machine.

Вам нужно пройти по предложенной ссылке, зарегистрироваться в Dropbox и добавить свой сервер в список присоединенных компьютеров (устройств).

После чего (не больше минуты) в консоли мы увидим следующее:

Client successfully linked, Welcome Roman!

Собственно в домашней папке создалась папка Dropbox и даже началась синхронизация. Однако прервем ее, чтобы настроить Dropbox как сервис.

Настройка Dropbox как сервиса

Для этого создаем файл /etc/init.d/dropbox со следующим содержимым

#!/bin/sh
#dropbox service
DROPBOX_USERS="roman fedir"
 
DAEMON=.dropbox-dist/dropbox
 
start() {
   echo "Starting dropbox..."
   for dbuser in $DROPBOX_USERS; do
       HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
       if [ -x $HOMEDIR/$DAEMON ]; then
           HOME="$HOMEDIR" start-stop-daemon -b -o -c $dbuser -S -u $dbuser -x $HOMEDIR/$DAEMON
       fi
   done
}
 
stop() {
   echo "Stopping dropbox..."
   for dbuser in $DROPBOX_USERS; do
       HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
       if [ -x $HOMEDIR/$DAEMON ]; then
           start-stop-daemon -o -c $dbuser -K -u $dbuser -x $HOMEDIR/$DAEMON
       fi
   done
}
 
status() {
   for dbuser in $DROPBOX_USERS; do
       dbpid=`pgrep -u $dbuser dropbox`
       if [ -z $dbpid ] ; then
           echo "dropboxd for USER $dbuser: not running."
       else
           echo "dropboxd for USER $dbuser: running (pid $dbpid)"
       fi
   done
}
 
case "$1" in
 
   start)
       start
       ;;
   stop)
       stop
       ;;
   restart|reload|force-reload)
       stop
       start
       ;;
   status)
       status
       ;;
   *)
       echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}"
       exit 1
 
esac
 
exit 0

Обратите внимание на третью строчку. Вместо “roman fedir” подставьте свои логины на сервере. Как вы уже поняли, сервис можно запустить для многих пользователей, а не для одного. При этом каждому пользователю придется скачать пакет, распаковать его и привязать к своему аккаунту (все это было описано выше).

Даем скрипту права на выполнение и добавляем его в автозапуск следующими двумя командами:

sudo chmod +x /etc/init.d/dropbox
sudo update-rc.d dropbox defaults

Теперь вы можете управлять на сервере сервисом Dropbox командами:

sudo service dropbox start
sudo service dropbox stop
sudo service dropbox restart
sudo service dropbox status

Собственно на этом установка и завершена.

С удовольствием отвечу на ваши вопросы и комментарии.