CentOS/Linuxからdropboxにアクセスする方法
経緯&概要
今までさくらさんのVPSサーバを2台借りて、相互にファイル転送して消えたら不味いファイル(MySQL dumpファイル等)とかをバックアップしてましが、 VPSを1台解約しようと思い、オンラインストレージにバックアップファイルを置く方式に変えました。
dropboxを以前から利用していたので、CentOS(6.7)からdropboxへのファイルアクセスできるようにしました。
Linuxからdropboxにアクセスするためには、dropboxが提供しているdropboxデーモンをLinux上で起動しておく必要があります。 ということで、まずはCentOSにdropboxデーモンを導入していきます。
▼参考URL(公式)
https://www.dropbox.com/ja/help/desktop-web/linux-commands
https://www.dropbox.com/install-linux
dropboxデーモン導入
2017/7/21現在はUbuntu/Fedora/Debianのみパッケージを提供しています。CentOS用のパッケージはないのでソースからインストールします。
私が使っているCentOSは64bitなので、参考URL(公式)の指示に従って下記コマンドを実行します。 ユーザディレクトリ配下に諸々ファイルが置かれますので、下記コマンドを実行するユーザは適時変更してください。私の場合はrootユーザにしておきました。dropboxデーモンを常に動かさないといけないので、専用のユーザ作ってやる方が本当は良いと思います。
# cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
上記を実行するとユーザのディレクトリ配下に下記のような通りディレクトリが作成されるはずです。 今回私はrootユーザで実行したのでrootディレクトリ以下に作成されています。
# ls -ld /root/.dropbox drwx------ 6 root root 4096 Jul 21 01:50 /root/.dropbox #
これでdropboxデーモン導入は完了です。
サーバとdropboxアカウントの紐付け
次にサーバとdropboxの既存アカウントを紐付ける必要があります。 紐付けるために下記dropboxdを叩きます。
# /root/.dropbox-dist/dropboxd
すると下記の通りメッセージとURLが永遠と繰り返されます。
This computer isn't linked to any Dropbox account... Please visit https://www.dropbox.com/cli_link_nonce?nonce=●●●● to link this device.
※注意※紐付けした瞬間からファイルの同期が自動で始まります。注意してください。
このコマンドを実行したまま止めずに、WEBブラウザで出力されたURLにアクセスします。 そこで紐付けができるので、サイトの表示に従って入力すればコマンドに下記の通り出力されるはずです。
これで紐付け完了です。コマンドはCtrl+cで止めて問題ありません。
This computer is now linked to Dropbox. Welcome ●●●
これでアカウントとの紐付けは完了です。
dropboxコマンドラインツール導入 & dropboxデーモン起動
公式ページをみると、Linuxディストリビューションやインストール時に使用したパッケージのタイプによっては、CLIで扱うためのPythonスクリプトが必要になる時もあるそうです。入れても害は無いのでインストールします。wgetして実行権限つけて終わりです。
# cd /root/bin/ ;pwd # wget -O dropbox.py "http://www.dropbox.com/download?dl=packages/dropbox.py" # chmod a+x /root/bin/dropbox.py
使い方は# dropbox.py helpと叩くとみれます。
このコマンドでdropboxデーモンが起動できるので起動します。
# dropbox.py status <--ステータス確認 # dropbox.py start <--dropboxデーモン起動 # dropbox.py status
このdropboxデーモンが起動している間はサーバからdropboxのファイル等にアクセスが可能になります。
上記作業が終わったらdropbox用のディレクトリを確認しましょう。今までの作業で自動に作成されているはずです。
# ls -la /root/Dropbox/
このディレクトリに適当にサーバからファイルを置いてみましょう。WEBブラウザとかでdropboxにログインして、サーバから置いたファイルがあれば無事同期していることがわかります。これで全て完了です。
dropboxデーモン自動起動について
dropboxデーモンを自動起動にしたい場合は、「/root/bin/dropbox.py start」か、スクリプトを使用しない場合は、「/root/.dropbox-dist/dropboxd」を何らかの方法でサーバ起動時に実行されるように設定すればOKです。 自分でスクリプトをかいて自動起動登録したり、crontabの@reboot機能を利用して下記の通りcronに登録しても起動できます。(Linuxディストリビューションによっては、cronの再起動時にも下記が実行される可能性があるので注意)
#crontab -e @reboot /root/bin/dropbox.py start #
▼自動起動方法参考サイト unix.stackexchange.com
追記
dropboxデーモンをdaemontools経由で起動させるやり方書きました。 q068891.hatenablog.com