2011-12-21 11 views
1

私はmysqlデータベースを使ってphpで構築されたWebサイトを持っています。月に一度実行されるphpとmysql手続き

毎月1回実行するにはSQL関数が必要です。

どうすればいいですか?

EDIT

それは明らかにしないために本当に申し訳ありません。私はLinux VPSを持っていません。 PHPとMySQLの機能を備えた基本的なホスティングサービス。私は将来、「本当の」サーバーを購入することを検討していますが、今のところ、ontherメソッドはありますか?

+0

を編集に –

+1

HTTPをお読みください:// www.phpjobscheduler.co.uk/ – RanRag

+0

MySQLイベントスケジューラは、利用可能な場合は良いオプションです - Johanの答えをチェックしてください。 –

答えて

3

誰もがあなたがcronjobを使いたがっているようです。
これは、サーバーへのスーパーユーザーアクセスが必要であるという問題です。
代わりにMySQLイベントを使用することをお勧めします。

これには、MySQLデータベースのスーパーユーザーアクセスが必要であることに注意してください。

参照:http://dev.mysql.com/doc/refman/5.1/en/events.html

まずイベントスケジューラが有効になっていることを確認してください:

SET GLOBAL event_scheduler = ON; 

次のように、イベントを設定することができます。

DELIMITER $$ 

CREATE EVENT IF NOT EXISTS event_name ON SCHEDULE EVERY MONTH 
STARTS CURRENT_TIMESTAMP + INTERVAL 1 DAY 
ON COMPLETION PRESERVE 
ENABLE 
COMMENT 'comment' 
DO BEGIN 
    //SQL statements here. 
END $$ 

DELIMITER ; 
+1

良い答え - 特にOPがCRONジョブの設定にアクセスできない場合。私が追加する唯一のことは、イベントスケジューラが有効になっていることを確認することです: 'SET GLOBAL event_scheduler = ON;' –

+0

まさに私が捜し求めてきた答えの種類です。どうもありがとう! –

3

サーバーに適切にアクセスできる場合は、CRONジョブを設定します。

最近の流通のほとんどは、/etc/cron.monthlyというフォルダを持っています。そこにあなたのスクリプトを置くことができ、毎月実行されます。

スクリプトの実行時にさらに制御したい場合は、独自のCRONエントリを設定できます。

1

あなたはこの:)を修正するためにcronジョブを使用することができます。

挨拶し、 ステファン

1

cronジョブは、このためのソリューションです。ツイートhere