pythonのバージョンが古いとDropboxのインストーラが動かないので
まずはpythonをインストール
今回は2.7.1
#wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
#tar zxvf Python-2.7.1.tgz
#cd Python-2.7.1
#./configure --prefix=/usr/local/Python-2.7.1
#make
#make install
# ln -s /usr/local/Python-2.7.1 /usr/local/Python
以下ユーザのhomeディレクトリで作業
$wget https://www.dropbox.com/download?dl=packages/dropbox.py
$chmod a+x dropbox.py
$mkdir bin
$mv dropbox.py bin/dropbox
dropboxのインストール
$/usr/local/Python/bin/python bin/dropbox start --install
ダウンロードされた dropbox.tar.gzを解凍
$tar zxvf dropbox.tar.gz
.dropbox-distが作成される
Dropboxの共有ディレクトリを作成
$mkdir Dropbox
一度dropboxを起動して .dropboxを作成
$ /usr/local/Python/bin/python bin/dropbox start
.dropboxが作成されたのを確認して停止
$ /usr/local/Python/bin/python bin/dropbox stop
共有するためのhost_idを取得する
$sqlite3 .dropbox/dropbox.db 'SELECT * FROM config;'
4|host_id|VXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
このVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
をbase64デコードする
Base64Decode
ここで得られた
Vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
のxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxの部分がHOST_ID
dropboxへログインした状態で次のアドレスにアクセスし、アカウントの紐付けをする
https://www.dropbox.com/cli_link?host_id=HOST_ID
dropboxを開始
/usr/local/Python/bin/python bin/dropbox start
ファイルのダウンロード確認
/usr/local/Python/bin/python bin/dropbox status
あとは適当に起動スクリプト等書いて実行すると便利
参考までに
# chkconfig: 2345 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.
DROPBOX_USERS="user"
prog=dropboxd
lockfile=${LOCKFILE-/var/lock/subsys/$prog}
RETVAL=0
start() {
echo -n $"Starting $prog"
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`
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
0 件のコメント:
コメントを投稿