前にDropboxというファイルの同期のWebサービスの中の人が

サイトのバックアップをDropboxでできるよ

と言ってたのをふと思い出したので、

当サイトのバックアップをDropboxで行うことにしてみた。


最初にバックアップ用のアカウントを作成する。


dropbox_register


Dropboxのトップページを開き、アカウントの作成を行う。

当サイトは全公開で特にこれといった機密性もないので、

アカウントは無料の方で登録しています。


作成できたら、

当サイトのサーバにリモート接続を行い、サーバのアーキテクチャを調べる。


$ arch
x86_64

利用しているサーバは64ビットだったので、

これから説明する内容は64ビットの方になります。

※ちなみにサーバはさくらのVPSを利用しています。


はじめに64ビット版のCLI版のDropboxをダウンロードする。

※debファイル経由のインストールはこの記事の追記に記載


$ curl -Lo dropbox-linux-x86_64.tar.gz https://www.dropbox.com/download?plat=lnx.x86_64
$ sudo mkdir -p /opt/dropbox
$ sudo tar xzfv dropbox-linux-x86_64.tar.gz --strip 1 -C /opt/dropbox
$ /opt/dropbox/dropboxd &

最後の一行でバックグラウンドでDropboxのプロセスを起動すると、


このコンピュータは Dropbox アカウントにリンクされていません...
このデバイスをリンクするには、https://www.dropbox.com/cli_link_nonce?nonce=***********************にアクセスしてください。

このような表示になった。

とりあえず、表示されているURLをコピーしてブラウザで開いてみると、

Dropboxのログイン画面が表示されたので冒頭で作成したアカウントでログインしてみると、


このコンピュータは Dropbox にリンクされました。ようこそ、齋藤毅 さん。

サーバにリモートアクセスしている端末で突然上記のような表示に変わった。

これで当サイトのサーバはDropboxにログイン出来たらしい。


Dropbox用のディレクトリはディフォルトを利用するので、


$ cd /home/*******/Dropbox
$ sudo emacs abc.txt

でabc.txtというファイルを作成し、

操作しているパソコンでブラウザを開き、Dropboxに同じアカウントでログインしてみると、


dropbox_sync


abc.txtというファイルが同期されていた。




それでは、午前3時に当サイトのブログの箇所だけバックアップを行う仕組みを設定してみる。


バックアップを行うディレクトリは

/var/www/html/site以下すべて

になる。


$ sudo apt-get install zip
$ cd
$ emacs dbbackup.sh

ホームでバックアップ用のスクリプトを作成する。

スクリプトは下記の様に書いた。


#!/bin/sh

#サイトのバックアップ
sitedir='/var/www/html/site'

zip -r '/home/******/Dropbox/site.zip' $sitedir

siteディレクトリ毎、zipで固めて、Dropbox用のディレクトリに配置するという命令にして、

※一日分があれば良いので、zipファイル名は単純にsite.zipにしています


$ sudo chmod a+x dbbackup.sh
sudo crontab -e

でcrontabを開き、


* 3 * * * /home/********/dbbackup.sh

こうした。


翌日、ブラウザでDropboxを確認してみると、


dropbox_backup


バックアップ用のsite.zipが同期されていた。

これでサイト運営における不安要素が無料で解消されたね。


ちなみに今回のDropboxのインストール方法では、

サーバの再起動時に自動でDropboxが起動されません。


というわけで、再起動時に自動でDropboxが起動される設定を追加してみた。

自動起動はinit.dに登録する方法と、crontabの@rebootがあるらしいけど、

crontabの方が壮絶便利らしいので、そちらを採用する。


#Dropboxをインストールしたアカウントでcrontabの設定を行う
sudo crontab -u アカウント -e

crontabを開いたら、


@reboot /home/******/.dropbox-dist/dropboxd

と書いて終了。

@rebootはOS再起動後にcrontabの再起動があり、その時に実行されるらしい。


追記(2019年3月10日)

crontabの@rebootでOS再起動時にDropboxが自動で起動しなかった場合は下記のコマンドを試す

$ rm ~/.dropbox-dist
$ dropbox start
#Dropboxのデーモンのインストール
$ dropbox start -i

次の記事

Dropboxにバックアップする時はパスワード付きzipにしておく


関連記事

さくらの追加ストレージ(NFS)内のファイルをDropboxで同期したい

ワードやエクセルファイルの編集はDropboxフォルダで行おう

当サイトをHTTP/2対応して表示の爆速化してみた

SOY CMSのサイトでPageSpeed Insightsのスコアが99になりました


2019年11月25日追記

debファイル経由でDropboxのインストール


dropbox_deb_install


Dropboxの公式サイトのインストールのページを開き、

インストール - Dropbox


dropbox_deb_install_1A


対象となるOSのダウンロードリンクを右クリックして、リンクのアドレスをコピーする。

今回はURLがhttps://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2019.02.14_amd64.debだとして話を進める。


端末を開き、下記のコマンドを実行する。

$ cd ~ && wget -O dropbox.deb "https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2019.02.14_amd64.deb"
$ sudo apt install ./dropbox.deb
$ dropbox start -i

Done!と出力されたら、端末で下記のコマンドを実行する。


$ dropbox status

開始中...
To link this computer to a Dropbox account, visit the following url:
https://www.dropbox.com/cli_link_nonce?nonce=***************************

上記のような内容が出力されたら、3行目のURLをコピーして、ブラウザを開いて、コピーしたURLにアクセスする。


dropbox_deb_install_2


Dropboxのログインの画面が表示されるので、ここでログインを試みる。

ログインが成功したら再び端末を開き、下記のコマンドを実行する。


$dropbox status

同期中...と出力されれば、Dropboxのインストールは終了となる。

最後にOSの再起動後にDropboxが自動で起動するようにcronに登録しておく。


$ crontab -e

下記を登録する

@reboot dropbox start