自宅のDebianサーバーでもDropboxを使いたいと思い、Debian GNU/Linux Wheezy 7.8の64bit版で設定した記録です。家のDebianはデスクトップ環境無しのCUI環境ですが、GUI無しでも大丈夫なようです。Dropboxが使えるようになったら、WordPressのバックアップデータを入れたいという計画なのです。
Dropboxは公式サイトでLinux用のページを用意してくれています。デスクトップ環境があれば簡単にインストールできるようですが、コマンドラインインストールの方法は公式サイトの説明だけではさっぱりわかりません。
いろいろググったり、試行錯誤してウチのDebianにて設定を進めた備忘録です。Dropboxのアカウントは作成済みの前提です。
このページの目次
Dropbox のインストール
Dropboxのサイトからwgetでダウンロードして解凍する。公式サイトの説明通りです。root権限ではなく、メインユーザーの一般権限でコマンドを入れます。
1 |
$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf - |
続いて、ユーザーディレクトリに展開された.dropbox-distフォルダの中のdropboxデーモンを起動します。
1 |
$ ~/.dropbox-dist/dropboxd |
こんな感じで延々とhttps://www.dropbox.com/~~にアクセスしろと繰り返します。デスクトップ環境があればここでブラウザが開いてログインできます。ない場合は、このアドレス部分をコピーして別なPCでこのリンクを開いてログインします。この画面は出したままにするのを忘れずに。
別なPCでログインすると、「このコンピューターはDropboxにリンクされました。ようこそ、」と表示されたら成功です。Ctrl+Cでこの画面から抜けます。
PythonスクリプトでDropboxを管理
Dropboxをコマンドラインで操作できるようにします。Dropboxが用意してくれているpythonスクリプトを使います。まずはスクリプトファイルをダウンロードします。ここからはsuでroot権限になって操作します。
1 |
# wget 'https://www.dropbox.com/download?dl=packages/dropbox.py' -O /usr/local/sbin/dropbox |
私は追加のスクリプトファイルを/usr/local/sbin/にdropboxというファイル名にして保存していますが、パスは環境により最適な場所に保存してください。
1 |
# chmod u+x /usr/local/sbin/dropbox |
保存したファイルに所有者の実行権限を与えて
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# dropbox Dropbox command-line interface commands: Note: use dropbox help <command> to view usage for a specific command. status get current status of the dropboxd help provide help puburl get public url of a file in your dropbox stop stop dropboxd running return whether dropbox is running start start dropboxd filestatus get current sync status of one or more files ls list directory contents with current sync status autostart automatically start dropbox at login exclude ignores/excludes a directory from syncing lansync enables or disables LAN sync |
dropboxとコマンドを打つと、使えるコマンドが表示されます。
1 2 |
# dropbox status Dropbox isn't running! |
dropbox status と打つと現在のステータスが確認できます。まだDropboxは動いていないようです。(rootではなく先ほどのユーザーで動いていると思われます。)
初回インストール
あとはDropboxをスタートさせるだけと思いきや、初回はオプション-i を付けるようにとのこと。
1 |
# dropbox start -i |
1 |
In order to use Dropbox, you must download the proprietary daemon. [y/n] |
なにやらデーモンをダウンロードするか聞いてくるので「y」を押します。
1 |
# aptitude install python-gpgme |
先にpython-gpgmeをインストールしておかないとダメと言われた場合はインストールします。私の場合は先にインストールが必要でした。
一般ユーザーでDropboxを利用する
rootで利用してもいいのですが、ユーザーのホームディレクトリのDropboxフォルダが同期された方が使い勝手が良いと私は思うので、一般ユーザーで利用できる設定で進めます。
ユーザー名を[user-name]としています。
1 |
# chown [user-name] /usr/local/sbin/dropbox |
ファイルの所有者を利用するユーザーに変更します。
1 |
# su [user-name] |
一般権限のユーザーに切り替えてから
1 2 3 |
$ /usr/local/sbin/dropbox start Starting Dropbox...Dropbox isn't running! Done! |
/usr/local/sbin/dropbox start とコマンドを入れてDropboxをスタートさせます。
1 2 |
$ /usr/local/sbin/dropbox status 最新の状態 |
/usr/local/sbin/dropbox status でステータスを見ると「最新の状態」になりました。
ユーザーのホームディレクトリにあるDropboxフォルダの中にファイルを置いて、クラウド上で同期されるのを確認できたら成功です。
OS起動時にDropboxをスタートさせるべくCronに登録する
Debianを再起動させると、Dropboxもスタートし直す必要があります。それは面倒なのでCronに登録させておくと便利なようです。Crontabに@rebootでコマンドを入れておくと、cron起動時=OS起動時に実行してくれるそうです。
/etc/crontab ファイルを編集します。
10 11 12 13 14 15 16 17 18 |
# m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) 30 4 * * * root /usr/local/sbin/fstrim.sh # @reboot [user-name] /usr/local/sbin/dropbox start |
最終行に一行追加しました。[user-name]は適切なユーザー名を入れてください。
可能であればOS再起動をして動作確認をしてみます。
もしくは、cronだけ再起動
1 |
/etc/init.d/cron restart |
1 2 |
$ /usr/local/sbin/dropbox status 最新の状態 |
再起動後、ステータスが「最新の状態」であればOKです。
最後にひとこと
いつまで家のサーバーとDropboxが同期を保ってくれるのか長い時間様子を見る必要がありますが、大丈夫そうならバックアップの保存先として利用する予定です。
“CUI環境のDebian 64bit版でDropboxを使う” への2件の返信