DropboxをLinuxで利用する方法

提供:maruko2 Note.
移動: 案内, 検索
動作環境
glibc 2.4 以上
Python 2.5 以上(3.0 は未サポート)[1]

目次

インストール&初期セットアップ

Dropbox の新規登録を http://db.tt/GZubdim から行うと +500MB もらえます。

official Dropbox CLI を使って簡単インストール

root 権限の無い一般ユーザーでも、Dropbox を簡単に利用する方法。

  1. official Dropbox CLI をインストール
  2. [shell]$ mkdir ~/bin
    [shell]$ wget -O ~/bin/dropbox.py http://www.dropbox.com/download?dl=packages/dropbox.py
    [shell]$ chmod a+x ~/bin/dropbox.py
    
  3. Dropbox デーモンをインストール
  4. [shell]$ dropbox.py start -i
    Starting Dropbox...
    Dropbox is the easiest way to share and store your files online. Want to learn more? Head to http://www.dropbox.com/
    
    In order to use Dropbox, you must download the proprietary daemon. [y/n] y
    Downloading Dropbox... 100%
    Unpacking Dropbox... 100%
    Dropbox isn't running!
    Done!
    
  5. Dropboxを起動
  6. [shell]$ dropbox.py start
    To link this computer to a dropbox account, visit the following url:
    https://www.dropbox.com/cli_link?host_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&cl=ja
    
  7. アカウントを登録 or 作成する
  8. ブラウザで https://www.dropbox.com/cli_link?host_id=...... にアクセスし、ログイン or アカウントを作成する。

  9. インストール&セットアップ完了
  10. ホームディレクトリに Dropbox ディレクトリができ、そのディレクトリ内は同期される。

Dropbox CLI の使い方[2]

status       dropboxd デーモンの状態を表示
help         ヘルプを表示
puburl       Dropbox ファイルの公開 URL を取得する
stop         dropboxd デーモンを停止
running      Dropbox が起動しているか確認する
start        dropboxd デーモンを起動
filestatus   ファイルの同期状態を表示する
ls           list directory contents with current sync status
autostart    ログイン時に Dropbox を自動起動させる
exclude      同期させるディレクトリを登録・解除する
status
$ dropbox.py status
6 ファイルをダウンロード中 (99.5 KB/秒、残り 1 秒)
help
コマンドの使い方が表示される。
$ dropbox.py help exclude
dropbox exclude [list]
dropbox exclude add [DIRECTORY] [DIRECTORY] ...
dropbox exclude remove [DIRECTORY] [DIRECTORY] ...

"list" prints a list of directories currently excluded from syncing.  
"add" adds one or more directories to the exclusion list, then resynchronizes Dropbox. 
"remove" removes one or more directories from the exclusion list, then resynchronizes Dropbox.
With no arguments, executes "list". 
Any specified path must be within Dropbox.
puburl
Public ディレクトリ内のファイル以外はエラーになる。
$ dropbox.py puburl Public/foo.zip
http://dl.dropbox.com/u/xxxxxxxx/foo.zip
filestatus
$ dropbox.py filestatus ~/Dropbox/*
/home/maruko2/Dropbox/Photos:           up to date
/home/maruko2/Dropbox/Public:           up to date
/home/maruko2/Dropbox/はじめに.pdf:         up to date
autostart
Ubuntu でのみ動作するらしい。
$ dropbox.py help autostart
dropbox autostart [y/n]

options:
  n  dropbox will not start automatically at login
  y  dropbox will start automatically at login (default)

Note: May only work on current Ubuntu distributions.
exclude
同期対象外のディレクトリをリストする。
$ dropbox.py exclude list
No directories are being ignored.
~/Dropbox/Photos ディレクトリを同期対象外にする。
$ dropbox.py exclude add ~/Dropbox/Photos
Excluded: 
Dropbox/photos
~/Dropbox/Photos ディレクトリを同期対象にする。
$ dropbox.py exclude remove ~/Dropbox/Photos
No longer excluded: 
Dropbox/Photos

起動スクリプト

OS 起動時に Dropbox を自動起動させるには、下記の起動スクリプトを登録する。 Ubuntu, Gentoo の例

RHEL の場合

/etc/init.d/dropbox の内容[3]:

# chkconfig: 345 85 15
# description: Startup script for dropbox daemon
#
# processname: dropboxd
# pidfile: /var/run/dropbox.pid
# config: /etc/sysconfig/dropbox
#
 
### BEGIN INIT INFO
# Provides: dropboxd
# Required-Start: $local_fs $network $syslog
# Required-Stop: $local_fs $syslog
# Should-Start: $syslog
# Should-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start up the Dropbox file syncing daemon
# Description:       Dropbox is a filesyncing sevice provided by dropbox.com
#                    This service starts up the dropbox daemon.
### END INIT INFO
 
# Source function library.
. /etc/rc.d/init.d/functions
 
# To configure, add line with DROPBOX_USERS="user1 user2" to /etc/sysconfig/dropbox
# Probably should use a dropbox group in /etc/groups instead.
 
[ -f /etc/sysconfig/dropbox ] && . /etc/sysconfig/dropbox
prog=dropboxd
lockfile=${LOCKFILE-/var/lock/subsys/$prog}
config=${CONFIG-/etc/sysconfig/dropbox}
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
    fi
    for dbuser in $DROPBOX_USERS; do
        daemon --user $dbuser /bin/sh -c "/home/$dbuser/.dropbox-dist/dropboxd&"
    done
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && touch ${lockfile}
    return $RETVAL
}
 
status() {
    for dbuser in $DROPBOX_USERS; do
        dbpid=`pgrep -u $dbuser dropbox | 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
        killproc /home/$dbuser/.dropbox-dist/dropbox
    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
exit $RETVAL

/etc/sysconfig/dropbox には Dropbox を利用するユーザー名を書いておく。複数ユーザーを書く場合は、スペースで区切る。

[shell]# vi /etc/init.d/dropbox
[shell]# chmod a+x /etc/init.d/dropbox
[shell]# echo DROPBOX_USERS="maruko2" > /etc/sysconfig/dropbox
[shell]# /etc/init.d/dropbox start
[shell]# chkconfig dropbox on

脚注

  1. RHEL6 (SL6) では要件を満たしているが、CentOS5 は Python が古いため epel リポジトリなどで python26 のインストールが必要。
  2. TipsAndTricks/UsingDropboxCLI - Dropbox Wiki
  3. TipsAndTricks/TextBasedLinuxInstall/FedoraStartup - Dropbox Wiki

参考ページ

TipsAndTricks/TextBasedLinuxInstall - Dropbox Wiki

http://wiki.dropbox.com/ のコンテンツは http://dropboxwiki.com/ に移行した。

LINEで送る このエントリーをはてなブックマークに追加
個人用ツール
名前空間
変種
表示
操作
案内
ツールボックス

注目のページ

このサイトのはてなブックマーク数