Debuginfo

思考とアウトプット

Dropboxを開発環境として使う

[更新: March 5, 2013]

無料で使える容量は2Gしかありませんが、ソースコードや設定ファイルを保存する用途では2Gあれば当分大丈夫ではないかと思っています。 開発環境から本番環境への移行はスクリプトを書いて、スクリプトを実行することによりデプロイできるようにしようと計画してみます。

  • $HOME/Dropbox/dev/metaproj/proj/release

少し職場環境にインスパイアされてますが(コンセプトなので大丈夫なはず...) 開発は上記ディレクトリで行い、本番環境は/dist以下にコピーして、そこからdaemontoolやmonit等を用いて起動する方向です。

  • /dist/metaproj/proj/release2
  • /dist/metaproj/proj/prod -> release2

移行スクリプトを書きます。

!/bin/bash
#=============================================
# This copys Dropboxy directory to /dist 
# so that it can be used in production.
# 
# NOTE: This needs to be ran by root
#=============================================

USER_ID=$1;
/usr/bin/getent passwd $USER_ID 2>&1 1>/dev/null
if [[ $? -ne 0 ]]
then
    echo "$USER_ID is not valid user"
 exit 1;
fi
DROPBOX_DIR="/home/$USER_ID/Dropbox"

# Check argument
if [[ -z $2 || -z $3 || -z $4 ]]
then
    echo "Usage: dist.sh UID META_PROJ PROJ RELESE" 
    exit 1;
fi 

META_PROJ=$2
PROJ=$3
REL=$4

# Check source directory
if [[ ! -d "$DROPBOX_DIR/$META_PROJ/$PROJ/$REL" ]]
then
    echo "No directory to copy from : $DROPBOX_DIR/$META_PROJ/$PROJ/$REL doesn't exist" 
    exit 1;
fi

DIST_DIR=/dist/$META_PROJ/$PROJ/$REL

if [[ ! -d $DIST_DIR ]] ; 
then
    echo "Creating distination directory"
    mkdir -p $DIST_DIR 
fi

cp -rp $DROPBOX_DIR/$META_PROJ/$PROJ/$REL/* $DIST_DIR/ 
chown -R $USER_ID $DIST_DIR

スクリプトはrootで下記のように走らせ、Dropboxのディレクトリからコピーする。

# ./dist.sh kamesho webapp suisentosho 0.5

現状は一人で開発しているのでこれで大丈夫でしょう。複数人で開発するようになったら、gitレポジトリを配置してそこでバージョンコントロールすれば良いかな。

Dropboxのインストール方法 on CentOS 6.3 64bit

SakuraのVPSを使用しています。dropboxのインストールは、 https://www.dropbox.com/install?os=lnx に行き、説明に従い下記のコマンドで展開後、dropboxdを起動する。

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

そうすると”This client is not linked to any account...”とhttps://... にアクセスするように言われるので、dropboxdを起動したまま ブラウザでアクセスしてパスワードを入れる。(ちなみにdropboxdを落としてたのでなかなか認証されずにハマりました -_-;;

CLIツールでdropboxdを操作するのでインストールページにあるツールをダウンロードしてツールを使って起動する。

$ mkdir ~/bin
$ cd ~/bin
$ wget https://www.dropbox.com/download?dl=packages/dropbox.py
$ chmod +x
$ ./dropbox.py start 

~/Dropboxが作成され、いい感じ^^ cronに入れるもよし、起動スクリプトを書くのもよし、とりあえず自分はマニュアルで起動します。サーバは24/7であがってるし。

どうやらLansyncというものがご近所さんの迷惑になるとのことなのでDisableします。

$ dropbox.py lansync n

参考:http://hayamiz.com/~haya/blog/?p=155