우분투에 드롭박스 설치

3 Feb

여러 전화기에서 찍힌 사진과 동영상을 모아서 필요 없는 것들을 지우고 하드에 백업하려면 일단 사진과 동영상을 컴퓨터로 이동시켜야 한다. 매번 여러 전화기를 USB로 연결해서 앨범 자료를 이동시키는 번거로움이 만만치 않은데, 드롭박스를 이용하면 이 작업을 간편하게 처리할 수 있다. 드롭박스는 전화기가 인터넷에 연결 되었을 때 새로 찍힌 사진과 동영상을 알아서 업로드해준다. 사진이 모이는 최종 장소는 새로 설치한 우분투 머신으로 결정. 다행히 드롭박스는 우분투에서도 사용이 가능하다.

드롭박스 패키지 설치

드롭박스 설치 페이지에서 GUI 버전을 다운을 받아서 설치하면 보통 윈도우나 맥에서 드롭박스 사용하듯 편하게 쓸 수 있다. 하지만 지금 사용하는 우분투 머신은 서버 버전이라 Headless 데몬을 설치해야 한다.

간단하게 터미널에서 아래와 같은 명령을 실행하면 64비트용 패키지를 다운 받아서 홈 디렉토리에 압축을 풀어준다. 압축은 홈 디렉토리 밑에 .dropbox-dist 폴더에 풀린다.

$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -

드롭박스 처음 실행

드롭박스는 데몬 형태로 떠 있으면서 새로운 파일이 있는지 계속 확인을 해야한다. 데몬은 .dropbox-dist 폴더에 있으며 실행은 다음과 같이 하면 된다.

$ ~/.dropbox-dist/dropboxd

아직 이 컴퓨터는 드롭박스 계정에 연결되어 있지 않기 때문에 아래와 같은 메세지가 나온다.

This computer isn't linked to any Dropbox account...
Please visit https://www.dropbox.com/cli_link_nonce?nonce=xxxxxx to link this device.

Please visit 다음에 나오는 주소를 복사해서 웹 브라우저로 방문한다. 주소에 들어가 보면 데몬이 실행 중인 컴퓨터를 드롭박스 계정에 연결 하는 페이지가 나온다. 우분투 머신을 드롭박스에 계정에 연결하지 않으면 드롭박스를 사용할 수 없으며 계속 위의 메세지가 반복해서 나오게 된다. 계정 연결이 끝나면 아래처럼 환영 메세지가 나오고 이제 드롭박스를 사용할 수 있다.

This computer is now linked to Dropbox. 

드롭박스 자동 실행

우분투 머신은 계속 켜있으면서 파일 서버 역할을 할 것이기 때문에 .dropbox-dist/dropboxd를 한 번 실행하면 컴퓨터가 꺼지기 전까지는 계속 떠있으면서 드롭박스의 자료들을 동기화 시켜준다. 하지만 매번 로그인 할 대마다 .dropbox-dist/dropboxd를 실행시켜줄 수는 없다. 드롭박스에서는 dropbox.py라는 드롭박스 제어용 파이썬 스크립트를 제공한다. 거기에 autostart 옵션이 있지만 작동이 잘 안 된다. 파이썬 스크립트 열어서 고치기 보다는 cron이나 init.d 스크립트로 부팅 할때 실행 시키도록 바꾸는 편이 편하다.

The Unofficial Dropbox Wiki에 보면 init.d용 스크립트가 나와있다.

init.d에 스크립트 생성

먼저 /etc/init.d/dropbox라는 텍스트 파일을 하나 만들고 아래 스크립트를 복사해 넣는다.

#!/bin/sh
#dropbox service
DROPBOX_USERS="username"
 
DAEMON=.dropbox-dist/dropboxd
 
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

3번 줄에 있는 username을 본인이 사용하는 우분투 아이디로 바꿔준다.

스크립트 권한 설정

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

재부팅 하고 나서 부팅 로그를 열어 보면 드롭박스 데몬이 부팅할 때 실행되는 것을 볼 수 있다.

$ cat /var/log/boot.log | grep dropbox
Starting dropbox...

Leave a Reply

Your email address will not be published. Required fields are marked *