Cronが利用できない環境で自動実行を実現する方法3



【登場!月額無料プラン】→ADSLも光ファイバーも低価格!

(最終更新日:2006年4月30日)

1.基本的な考え方

シェルスクリプトをcronを使って実行させることが不可能といっても、それはサーバの機能であるcronを使って実行できないというだけであって、そのシェルスクリプト自体はいつでも実行可能なわけです。ただ、「自動」でというところで、サーバの機能を使えないということです。

サーバがやってくれないのであれば、他の手段で実行することができれば問題解決となります。下準備として、そのシェルスクリプトをPHPのSystem関数から実行させることができるPHPプログラムを準備します。(System関数の使用は、セーフモードの環境下では制限されますので、そのような場合はこの方法は無理かもしれません。System関数の利用法はPHPのマニュアルをご参照ください。)

そのPHPプログラム(URL。例:http://www.example.com/php/db_backup.php)に自動でアクセスする方法を考えればいいことになります。これまで、「2.Windowsのタスクスケジューラ機能を使用しての方法」、「3.一般のサイト訪問者のアクセスを利用する方法」でしたが、今回の方法は、ある意味一番シンプルで直接的かもしれません。


4.フリーソフトを利用する

フリーソフトの中には、特定URLに特定時間にアクセスさせることを目的とした(に特化した)ものがあります。今回ご紹介するのは、「URL Timer」というソフトです。直感的に使えるソフトです。

1. まず、vectorからこのソフトをダウンロードします。

解凍後、URLTimer.exeを起動させます。すると左のような画面が表示されます。「新規作成」というテキストリンクをクリックします。

2. 左のような画面が表示されます。適当な名称で良いのですが、ここでは、「db_backup」という名称を入力し、OKボタンを押して、ダイアログを消します。

3. アクセスさせたいURLを入力し、1日1回のアクセスでいいのであれば、例えば、「間隔の指定2」「毎日」「11時0分」にアクセスするように設定します。最後に、「データ確定」というリンクをクリックすれば完了です。

 通常使用するブラウザをFirefoxやOperaに設定している場合でも、とにかくIEが起動しアクセスします。また、IEは既に開いているブラウザがあっても、必ず新規ブラウザが開き、特定URLにアクセスするタイプですので、前回の、2.Windowsのタスクスケジューラ機能を使用しての方法と違って、通常のネットサーフィン(死語?)によってタスクが実行されないように見える現象もないと思われます。

 ただし、2.Windowsのタスクスケジューラ機能を使用しての方法と同様、このフリーソフトを活用する方法では、Windowsを起動しておかなければならないという問題は残ります。毎日一定時間にWindowsを起動させておくことが難しい環境では、やはり、「3.一般サイト訪問者のアクセスを利用する方法」を取るか、頑張って、cronが利用可能なレンタルサーバを探すかしないといけないかもしれません。

cronが利用可能なレンタルサーバのリンク集はこちら

 そうは言っても、このフリーソフトを活用する方法では、2.Windowsのタスクスケジューラ機能を使用しての方法と違って、ソースネクスト社のウイルス対策ソフト「ウイルス・セキュリティ2006」やシマンテック社のノートン・アンチウイルス 2006を使っていても、セキュリティ上の警告は一切表示されずに実行される点は非常に「使える」点だと思います。

 上のソフトはWindows用ソフトです。Macでも同様なソフトがあるかは分かりませんが、OSXであれば、UNIXコマンドを活用することで、レンタルサーバでcronが利用できない場合も、同様の処理ができる可能性があります。次のページでは、5.MacOSXにおけるUNIXコマンド活用によるcron実現方法について説明します。



Bフレッツ3ヶ月無料! JRのプロバイダ【サイバーステーション】



← 失敗しないレンタルサーバの選び方に戻る