「Webコンテンツを自動バックアップ取得してDropboxに転送しよう Part1」で、Webコンテンツを自動で圧縮しましたが、その圧縮したファイルをDropboxへ自動で転送する方法を紹介します。
今回使用するのはDropbox APIのPHP版です。デモ環境のPHPのバージョンは5.3.6です。
弊社Shared Plan ACE01用に記事は書きますが、恐らくほとんどのレンタルサーバーでも使用出来ると思います。
「Webサイトからお問い合わせが来ない…」とお悩みの方必見!
当サイトのノウハウを詰め込んだ『Web集客の無料ガイド』をご提供
[DropboxのDeveroper登録]
dropboxのDeveroperページにログインし、「My apps」、「Create an apps」をクリックする。途中で利用の同意書が出力されるので、「I agree....」を選択し、「Submit」をクリックする。
App nameとDescriptionを入力し、「Create」をクリックする。
Access levelをApp folderを選択すると、Dropbox/Apps/ace01_to_dropboxフォルダに転送したファイルやフォルダが格納される。

すると、「My Apps」に「ace01_to_dropbox」が追加される。
[Sample プログラムのダウンロード]
今回はPHP版を利用するので次のリンクよりプログラムをダウンロードする。
PHP on github by Ben
[Sample プログラムの設置]
ダウンロードしたファイルを解凍する。
次の2つのファイルを開き、次ように編集を行う。
-------/examples/bootstrap.php--------------
30行目:$key = 'XXXXXXXXXXXXXXX';
31行目:$secret = 'XXXXXXXXXXXXXXX';
Apps登録を行った時に発行された、「App key」、「App secret」を入力する
39行目をコメントアウト
//$storage = new \Dropbox\OAuth\Storage\Session($encrypter);
46行目、47行目のコメントアウトを取る。
$storage = new \Dropbox\OAuth\Storage\Filesystem($encrypter, $userID);
$storage->setDirectory('tokens');
-------/examples/putFile.php(その他の行はコメントアウトする)--------------
// Require the bootstrap
require_once('bootstrap.php');
// アップロードしたいファイルの指定
$h = fopen('html.tar.gz','r');
$put = $dropbox->putFile('html.tar.gz',$h);
fclose ( $h );
// Dump the output
var_dump($put);
詳しくは、「dropbox-php code」を参照
修正したファイルやフォルダをサーバーにアップロードし、「/examples/putFile.php」にアクセスして下さい。
初回のアクセス時に以下の画面が表示されるので、「許可」をクリックする。

「許可」をクリックすると、putFile.phpが実行され、指定したファイルがDropboxへアップロードされます。
このブログの圧縮ファイルが80Mbありましたが、転送完了までに2~3分くらいでした。すごい便利ですね。これでうちのデータセンターが潰れても大丈夫!って私が職を失いますがね^^;
ACE01を借りて頂いているユーザー様は、SmartReleaseのバックアップ+Dropboxの2重バックアップで安心です。
次回は、自動で圧縮ファイルを生成するプログラムと今回作ったDropboxへ転送するプログラムを2つ合わせて、自動圧縮からの、Dropbox転送をご紹介します。
ではでは次回まで、さようなら。
「Webコンテンツを自動バックアップ取得してDropboxに転送しよう Part3」へ