解決済みの質問
LAMPでWebシステムを開発中です。システム都合で夜間バッチ処理(MySQLのテーブル退避等のDB処理)を行う必要があります。
LAMP環境でバッチを行う場合、一般的に「どの様な言語で」「どの様なスケジューラで」行うのでしょうか。
また出来るだけ無料で使用が可能なスケジューラなどあればお教え頂けると助かります。
【環境】
Vine Linux 3.1、Apache2.0、MySQL 4.1.13 、PHP4.3.10です。
投稿日時 - 2005-08-03 16:03:31
PHPで作ったバッチを定時実行したいのなら、cron から PHP スクリプトを呼び出します。直接呼び出すよりは、sh経由で呼び出したほうが良いような気がします。
[backup.sh]---------------------------
#!/bin/bash
cd /home/hoge; /usr/local/bin/php -q backup.php
--------------------------------------
[crontab -e]--------------------------
0 7 * * * /usr/local/bin/php -q /home/hoge/backup.sh
--------------------------------------
↑毎日7:00に/home/hoge/backup.shを起動
このように、PHPスクリプトをシェルスクリプト等で呼び出す場合(コマンドライン経由の場合)は、CGI版のPHPがインストールされている必要があります。
% which php
とやって
/usr/local/bin/php
とか表示されれば大丈夫でしょう。
投稿日時 - 2005-08-04 11:48:59
4人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(1件中 1~1件目)
「どのような言語で」
言語は、実行できればなんでもOKです。簡単なものならシェルスクリプト、
一番多いのは通常のコマンド(当然ソースはCで書かれている)、最近なら
Perlなどのスクリプト言語でもいいでしょう。
「どのようなスケジューラで」
LinuxなどUNIX系のOSだと cron というコマンドで行います。
crontab というコマンドでバッチ処理を登録します。
投稿日時 - 2005-08-03 16:21:41
お礼
回答どうもありがとうございます。
ちなみにPHPで実行することは出来ないものでしょうか? なにぶん一番慣れてるので。。
投稿日時 - 2005-08-03 16:33:50
OKWaveのオススメ
おすすめリンク