Hatena::ブログ(Diary)

130単位

2011-08-24

DropboxをインストールせずにDropboxにバックアップ

コマンドラインからDropboxへのアップロードを可能にするシェルスクリプトです。通常Dropboxは(Linuxでも)インストールして使うものですが、このツールはファイル1つのみで動作します。

こちらの記事で知りました。現在はバージョンが上がっていたり少しつまずいたりしたので、そのメモです。(※バージョン0.7.1で検証)

使いかた

sh dropbox_uploader.sh -u account@example.com -p password -f targetfile_or_dir -d /path/to/uploaddir -v
ハードコーディング
LOGIN_EMAIL="account@example.com"
LOGIN_PASSWD="password"

dropbox_uploader.shに直接記述すればアカウントパスワードオプションは不要になります。

正しいのにログインできない場合

アカウントまたはパスワードの記号がURLエンコードされないのが原因の可能性があります。スクリプトではcURLの通信を行っていおり、パラメータの生成時にURLエンコードが必要です。Gmailエイリアス('+'記号)を使っていたりするとアウトです。

回避するにはアカウントおよびパスワードURLエンコード済みの文字列を指定する必要があります。

スクリプト内でURLエンコード

ファイルにパスワード書きたくない&URLエンコード面倒な場合は以下のようにします。

function urlencode
{
	echo $1 | nkf -MQ | tr = %
}

curl -s -i -c $COOKIE_FILE -o $RESPONSE_FILE --data "login_email=`urlencode $LOGIN_EMAIL`&login_password=`urlencode $LOGIN_PASSWD`&t=$TOKEN" "$LOGIN_URL"

その他

PR

4798123722
Dropbox WORKING

関連記事

トラックバック - http://d.hatena.ne.jp/deeeki/20110824/dropbox_uploader_backup