私はこれからどこから始めればよいのか分かりません:
postID
とDate
を格納するデータベースがあります。
私がやりたいのは、Date
が今日よりも少ないすべての行をWebサイトに自動削除させることです。このスクリプトには、ユーザー入力をまったく含めることができません。ボタンのクリックはなく、何もありません。スクリプトは毎日深夜に実行する必要があります。
私はこれを行う何かをあちこち探していましたが、まったく何も見つかりませんでした。
PHPスクリプトを使用して、cpanelでcronジョブを使用できます。
例:
cronjobcommand.php
<?php
include 'your_db_connection';
mysql_query("DELETE FROM your_table_name WHERE Date < NOW()");
?>
参考までに、以下のスクリーンショットを添付しました。
1and1のような共有ホスティングを使用していて、cronを使用できない場合は、次の2つの方法があります。
mysql events mysqlにタイムトリガーを配置できます。これは、ユーザー入力によって起動されることなく、必要なときに実行されます。
1and1 :(を使用しているためにmysqlイベントを作成できない場合は、 webcron を使用することもできます。
実行したいphpスクリプトのURLをwebcronに伝えるだけで、必要な間隔でトリガーされます。
なぜ毎日cronjobを使用するのですか?出力でデータをフィルタリングしてみませんか。たとえば、選択したチェックで、投稿日が今日と等しいかどうかを簡単なwhere
を追加して確認します。
SELECT * FROM `posts`
WHERE (DATE(`post_date`) = DATE(NOW()));
この方法では、特別な時間にデータベース管理/ cronジョブを実行する必要はありません必須データベース管理のためだけに使用されます。その後、不要なデータを削除できますいつでも次のようなmysqlコマンドを使用します。
DELETE FROM `posts` WHERE (
DATE(`post_date`) < DATE(NOW())
)
ほとんどのホストは、特定の時間にコマンドを実行できるcron(8)
サービスを提供します。 crontab(1)
プログラムを使用して、どのコマンドをいつ実行するかを記述したcrontab(5)
ファイルを管理します。
利用できる機能はたくさんありますが、適切なMySQLコマンドを実行するプログラム(シェルスクリプト、phpスクリプト、Cプログラムなど)を作成すると、cron(8)
を介してプログラムを完全に呼び出すことができます。ハンズオフファッション。
_crontab -e
_を実行して、現在のcrontab(5)
ファイルを編集します。存在しない場合は、役立つヘッダーが付いたものを入手できれば幸いです。そうでない場合は、これをコピーします。
_# m h dom mon dow command
_
列は、コマンドを実行する分、時、曜日、月、および曜日を示します。コマンドを実行するタイミングを決定するために、列のすべての数値は基本的にAND演算されます。
したがって、毎晩深夜は次のようになります。
_0 0 * * * /path/to/executable
_
非常に柔軟性があるので、ドキュメントに時間をかけてください。多くの用途があります。
cron
ジョブ(スケジュールされたタック)を設定する必要があります。
cron job は、LinuxおよびUnixオペレーティングシステム用の自動プログラムセットアップです。これにより、ユーザーは特定の日時に複数のコマンドまたは機能を実行できます。
cpanelの設定にcronジョブがあります。まず、各日付の後にレコードを削除するためのロジックを使用してphpスクリプトを作成する必要があります。サーバーから日付を取得し、削除するスクリプトを記述します。
次に、cpanelの[cron]タブに移動し、時間間隔の設定を行ってcronを実行し、phpスクリプトファイルのパスを指定します。