ITblog

CentosでデータベースのバックアップをDropboxに転送する

2017年10月14日

CentOSでデータベースのバックアップをDropboxに転送する方法についての解説です。

データベースの二重バックアップの必要性

CentOSのサーバでデータベースを使ったサイトを運用している場合に、まずやる設定がデーターベースのバックアップを取って(mysqldump)、同じサーバのバックアップ用のディレクトリに保存するということをやる人は多いと思います。

しかし、この方法だともしサーバ自体に障害が発生して使えなくなったり、あやまって全部消してしまった場合などにデータの復旧ができなくなります。

この場合に、サイトを運用しているサーバ内に保存し、かつ外部のストレージにも保存しておくと、もし何らかの障害がサーバに発生した場合でもデータの復旧が可能になります。

外部ストレージに何を使うか

保存する外部ストレージには最近ではいろいろありますが、安価で有名なストレージはDropboxがあります。
無料の場合は容量に制限がありますが、それでも2GBまでであれば保存可能なので、ある程度までのデータであれば保存可能です。

欠点としては、セキュリティ上の問題は考えられますので、個人情報など重要な情報を含むDBの場合はもっと安全な方法を取るべきです。

Dropboxへのデータの保存手順

Dropboxへのデータへの保存手順にはいくつか方法があります。

まず、サーバにDropboxをインストールして、直接サーバ内のDropboxの保存ディレクトリに保存するという方法もあります。
この方法は分かりやすいですが、調べた所によると問題もいろいろあるようなので今回はパスしました。

他には、Wordpressの場合であればプラグインを使うことでも簡単に設定可能ですが、サイトの数が増えていくると都度プラグインを入れて設定する必要があるので多少手間がかかります

別の方法としては、サーバ内のデータを指定してDropboxにアップロードする方法です。
今回はこの方法を採用しました。

分かりやすいサイトとしては、以下のサイトの説明をほぼそのまま参考にしました。

第54回「SORACOM応用編!ラズベリーパイからDropboxへファイルをアップロード(1)Dropbox-Uploader」 | Device Plus – デバプラ

詳しくは上記のサイトに手順が書いてあるので詳細は割愛。

やり方としては至極単純で、Dropbox Uploaderという便利なシェルスクリプトがあるので、これをダウンロードしてサーバ内に設置して実行権限をつけるだけ。

最初にこのシェルスクリプトを実行するときにDropboxのアクセストークンについて入力しないといけないので、その設定をDropboxのサイトにログインして取得しないといけません。
必要な作業としてはそれだけです。

あとは、そのシェルスクリプトを実行して、引数にファイル元とアップロード先のディレクトリとファイル名を指定してDropboxにアップロードするだけです。

実行してアップロードが確認できれば、それをcronにセットしてやると問題なくDropboxへの転送ができました。

問題点

この方法の問題点としては、まずはDropboxのセキュリティ上の不安というのはあるかもしれないと思うので、個人情報を含むデータなどの場合は注意する必要があります。

それ以外では、Dropboxの容量が知らない間にいっぱいになっていてアップできていなかったというトラブルが起きる可能性はあるので、データのアップロードと保存が失敗した場合にメールでアラートが届くようになるとなお信頼性が高くなります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です