「Webサイトからお問い合わせが来ない…」とお悩みの方必見!
当サイトのノウハウを詰め込んだ『Web集客の無料ガイド』をご提供
[今回のゴール]
1.Webコンテンツの自動圧縮(2012-09-27 )
2.Dropboxへのファイル転送(第2回目記事参照)
3.Webコンテンツを自動圧縮して、自動でDropboxへ転送する ←今回ここです。
[使用するプログラム]
サーバー:Shared Plan ACE01 (他のサーバでもたぶん動きます)
API:Dropbox-PHP
PHP:5.3.6
階層:/html/tar (第1回目で紹介した階層を利用します)
[手順]
- プログラムを設置します。
https://github.com/BenTheDesigner/Dropbox
上記よりプログラムをダウンロードしサーバーに設置します。
/html/tar/Dropbox
/html/tar/Dropbox/OAuth
/html/tar/Dropbox/API.php
/html/tar/examples
... - /html/tar/examples/bootstrap.phpを修正する。
(第2回目で手順を書きましたのでそちらを参照下さい)
- プログラムを作成します。"AceToDrop.php"ファイルを作成し、以下の階層に保存をします。
/html/tar/examples/AceToDrop.php---------------------php code-------------------------
<?php
/**
* Upload a file to the authenticated user's Dropbox
* @link https://www.dropbox.com/developers/reference/api#files-POST
* @link https://github.com/BenTheDesigner/Dropbox/blob/master/Dropbox/API.php#L8...
*//////////////////設定項目///////////////////
//WebコントロールパネルのUserID、データベースのIDと同等
$UserID = 'aa115zaox6';
//バックアップの対象ファイルの保存先
$TargetFilepPath = '/usr/home/'.$UserID;
//バックアップ対象ファイル名
$BackupData='html.tar.gz';
//プログラムの設置場所
$ThisProgramPath='/tar/examples';// Require the bootstrap
require_once('bootstrap.php');//Webコンテンツの圧縮
$command = "tar zcfv /usr/home/$UserID/html$ThisProgramPath/$BackupData /usr/home/$UserID/html";
$sys = system($command, $re);if ($re): die("圧縮処理に失敗しました。");
else: echo "圧縮完了しました";
endif;//Send to Dropbox
$h = fopen($BackupData,"r");
$put = $dropbox->putFile($BackupData,$h);
fclose ($h);//Dump the output
var_dump($put);
?>詳しくは、「dropbox-php code」を参照して下さい。
- いたずら防止のために「/html/tar」以下にアクセス制限をかけ、「/html/tar/examples/AceToDrop.php」ファイルをCron登録することで自動で、ウェブコンテンツが圧縮されDropboxへファイルが転送されます。
(第1回目の記事を参照下さい)
便利な機能を紹介しましたけど、引き続きSmartReleaseは利用して下さいね。もうSmartReleaseの自動バックアップいらないじゃんとか無しでお願いします^^;
ちなみにSmartReleaseはバックアップファイルからリストアできたり、テストから公開へのリリース時などに自動でバックアップを取得したりしていますので、さらに便利です。SmartRelease + Dropboxで安心、安全なシステムを構築下さい。