PHPとMySQLを使ってTwitter APIで取得したツィートの追加と削除を繰り返す(その4~データ削除のプログラミングと定期実行のコマンド)

php

今回は、ツィートの追加と削除を繰り返すために、削除のプログラムと、追加・削除を定期実行するコマンドを作成します。なお前回の記事はこちら。

目次

テーブルの構造

ツイートを削除するテーブルの構造は以下の通り。前回と同じです。

create table tweet (
	id int(11) not null auto_increment primary key,
	tw_id text,
	tw_screen varchar(16),
	tw_date varchar(25),
	tw_txt text
);

ツイートを20件削除

削除の基準は、最も小さいステータスIDを持つツイートです。そのツイートを含むレコードから昇順(order by句とasc)して、20件削除します。プログラムは次のとおり。

[php]
<?php
// PDOクラスによるデータベース接続
try {
$dbh = new PDO(‘mysql:host=localhost;dbname=tweet1;charset=utf8’, ‘myusername’,’mypassword’);
} catch(PDOException $e) {
var_dump($e->getMessage());
exit;
}
// 処理(すべてのレコードを削除)
$stmt = $dbh->prepare("delete from tweet order by tw_id asc limit 20;");
$stmt->execute();
$dbh = null;

?>
[/php]

追加・削除プログラムの定期実行

前回の記事で紹介した、追加プログラムと削除プログラムは、1時間ごとに定期的に実行します。そのためにcrontabコマンドを利用します。

crontab -l // crontabコマンドの内容を確認(最初は何もない)
whereis php // phpのパスを確認

/usr/bin/php // phpのパス

crontab -e // crontabコマンドの編集

// 毎時0分にツイート追加のプログラムを実行
0 * * * * /usr/bin/php /var/www/html/php_tw1/add_tweet.php 
// 毎時0分にツイート削除のプログラムを実行
1 * * * * /usr/bin/php /var/www/html/php_tw1/delete_tweet.php 

crotabの使い方について

今回は、「毎時〇分」ということで、”0 * * * *”、”1 * * * *”という使い方をしましたが、「1時間おき」という命令もできるようです。

そのあたりの月日時の使い方などについては、server-memo.netさんのページが参考になると思います。

〔参考サイト〕

php

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次