Hatena::ブログ(Diary)

webネタ

2011-09-28 さくらVPSでDropbox

個人サーバーバックアップがめんどうなので、dropboxアカウント作ってそこに放り込むことにした。

環境はLinux。CentOS5.6(64bit)さくらVPS

f:id:R-H:20110928074924p:image


必要なものをインストール

python2.6

sudo yum install python26

dropboxコマンドの準備

ソースをダウンロードし、権限を与えパスが通っているディレクトリへ移動。

cd ~/src
wget https://www.dropbox.com/download?dl=packages/dropbox.py
chmod u+x dropbox.py
vi dropbox.py
  一行目、#!/usr/bin/pythonを#!/usr/bin/python26に変更
mv dropbox.py ~/bin/dropbox

dropboxインストール
dropbox start -i
  To link this computer to a dropbox account, visit the following url:
  https://www.dropbox.com/cli_link?host_id=39c6****c3d04b***e6&cl=ja

ブラウザdropboxログインし、このurlを叩くとアカウントが紐づく。

~/Dropboxが自動で作成され、同期がはじまる。GUIの時と同じ。

なんて簡単!


確認コマンド
cd ~/Dropbox
ls -lA

ステータス
dropbox status

ヘルプ
dropbox help

プロセス
ps aux | grep dropbox

試しにディレクトリを作ってみる。

cd ~/Dropbox
mkdir test

ブラウザアクセス

https://www.dropbox.com/home

反映されているか確認。


起動と停止
dropbox start
dropbox stop

自動起動

rootで作業。

サービスファイル作成。

変数userexecの値は各々設定する。

vi /etc/init.d/dropbox

------------------------------------------
#!/bin/sh

# chkconfig: 345 99 01
# description: dropbox
# processname: dropbox

exec="/home/ryo/bin/dropbox"
user="ryo"

start() {
    echo -n $"Starting $prog: "
    su -c "${exec} start" ${user}
}

stop() {
    echo -n $"Stopping $prog: "
    su -c "${exec} stop" ${user}
}

status() {
    su -c "${exec} status" ${user}
}

restart() {
    stop
    start
}

case "$1" in
    start)
        $1
        ;;
    stop)
        $1
        ;;
    restart)
        $1
        ;;
    status)
        $1
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart}"
        exit 2
esac
exit $?
------------------------------------------

権限の付与

chmod u+x /etc/init.d/dropbox

自動起動に登録

chkconfig --add dropbox
chkconfig dropbox on
chkconfig --list dropbox
    dropbox        	0:off	1:off	2:on	3:on	4:on	5:on	6:off

これで再起動しても自動で起動する。


バックアップ

定期的にtarにして~/Dropboxに配置すば自動でバックアップされる。

自分はgitのマスターリポジトリdropboxでbackupしてます。安心。

crontab -e
  0 3 * * * tar zcfp ~/Dropbox/backu/git_master_repo.tar.gz /var/git >> /tmp/cron_dropbox.log 2>&1