dropboxAPIでcentosのmysqlバックアップを取得、保存しよう。

2017年1月12日更新 view: 21 view
http://images.techtimes.com/data/images/full/153218/dropbox-paper.png?w=600

1TBもあるから、ドロップボックスの容量を使ってバックアップしよう

以前にも書いたけど、いろいろ変わってたので書き直します。
ということでdropboxdeveloperのアプリ作成から教えますね。

apiキーを作る

https://www.dropbox.com/developers/apps
で 右上のボタン create app を押して APIをつくる

・Dropbox API app
・Files and datasotores
・Yes
・sakuravps

二回目以降は、webapiキーはいらない。
以下のアクセストークンのみで認証できるので注意する。

一度認証した場合、dropbox apps の アプリを選択後、
Generated access token の↓の Generete ボタンをクリックすることで
アクセストークンを取得できる

App Consoleから アプリをクリックしてAPIキーを取得

App key
u8****vo
App secret
49dl2*****t4j

centos に dropbox uploader api をインストール

https://github.com/andreafabrizi/Dropbox-Uploader
を参考にインストールできます。


curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh " -o dropbox_uploader.sh

上記でダウンロード完了。
つづいて、インストール。


chmod +x dropbox_uploader.sh


ここまででインストール完了ですが、curlの先がちょくちょく変更になるので、
githubで確認してください。

ユーザー名とパスワードを入力

vim dropbox_uploader.sh

ファイルの最初に以下を追記

LOGIN_EMAIL="user@domain.com"
LOGIN_PASSWD=""

APIと連携させる

sh dropbox_uploader.sh

すると以下の設問が始まるので以下のように入力。
このappkey と secret をそのままコピペすると何故かエラーになるので、
一度メモ帳などに貼り付けて、再度コピペすること。

# App key: u8******hmvo
# App secret: 49dl2******pt4j
# Permission type, App folder or Full Dropbox [a/f]: a

> App key is u8t6kudnuvahmvo, App secret is 49dl2h1c7lbpt4j and Access level is App Folder. Looks ok? [y/n]y

> Token request... OK

Please open the following URL in your browser, and allow Dropbox Uploader
to access your DropBox folder:

--> https://www2.dropbox.com/1/oauth/authorize?oauth_token=0QDZI *****ebG

Press enter when done...

> Access Token request... OK

Setup completed!

apiのoauth先をブラウザで開いて認証すること

スポンサードリンク

https://www2.dropbox.com/1/oauth/authorize?oauth_token=l3HVsdmeUIZxxehfyA

なぜか上記の www2 にアクセスするとSSLエラーがでて接続できなかった。
その場合は、 www2 を www に置き換えてアクセスしてみよう。

dump.sql を dropbox へ dump.sql というファイル名でアップロードする


./dropbox_uploader.sh upload /var/bkup/dump.sql /backup/dump.sql

どこにアップロードされたの?

/Dropbox/アプリ/sakuravps/backup/dump.sql

uploadするとFAILEDが出るんだけど

その場合は一度設定ファイルを削除しよう。

アップロードできずに FAILED が出る場合はリセットする。
findで検索しても出てこない以下のファイルが dropbox_uploader.sh と同じ階層にあるので削除する。


rm .dropbox_uploader

これでまた最初から設定をしなおせば、うまく動作するようにようなる。

それでもうまくアンインストールできない場合位

./dropbox_uploader.sh unlink

でuninstallしちゃえばいい。

ちなみにmysqlバックアップのshの紹介。
以下をやっておくだけで
・mysqlのテーブルデータ
・サーバーのhtmlやphp、画像などのデータ

を自動的にバックアップを取ってくれるんだ。
しかも毎回上書きでdropboxの機能を使って戻すから容量を食わない。
但し、有料プランの場合ね。

vim /var/shell/backup.sh

#!/bin/sh
mkdir -m 777 /var/backuptmp

#mysqlをバックアップとして取得
mysqldump -uroot -p[yourpass] --all-databases | gzip > /var/backuptmp/dump.sql.gz

#サイトのファイルすべてをバックアップとして取得
zip -r /var/backuptmp/sitedata.zip ls /var/www/html

#dropboxにアップロード (絶対パスで指定。でないとcronで動かない)
/home/hoge/dropbox_uploader.sh upload /var/backuptmp/ /yourdir/
スポンサードリンク

関連記事

関連カテゴリ