Webコンテンツを自動バックアップ取得してDropboxに転送しよう Part2

Webコンテンツを自動バックアップ取得してDropboxに転送しよう Part1」で、Webコンテンツを自動で圧縮しましたが、その圧縮したファイルをDropboxへ自動で転送する方法を紹介します。

今回使用するのはDropbox APIのPHP版です。デモ環境のPHPのバージョンは5.3.6です。
弊社Shared Plan ACE01用に記事は書きますが、恐らくほとんどのレンタルサーバーでも使用出来ると思います。

[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」へ

 

関連タグ: 

この記事をシェアする:

Author
この記事を書いた人:阿部 正幸

KDDIウェブコミュニケーションズ
クラウドホスティング事業本部 エバンジェリスト

CPIスタッフブログ編集長。ACE01,SmartReleaseをリリース後、現職の「エバンジェリスト」として、web制作に関する様々なイベントに登場

Line@登録よろしくお願いします

Web制作に関する情報や、CPIノベルティのプレゼント、サーバーの無償提供などを定期的に発信しています。
ぜひ、登録ください。