要實現的功能:監控user表,若有新紀錄增加,將其新增至user2表。 (實際應用上可以引深一些,例如對資料進行相關處理等)
下面是PHP程式碼(dbtest.php)
程式碼如下:
!#/usr/local/php/bin/php
mysql_select_db("test");
echo 'PID: '.posix_getpid().' '; //目前處理PID(linux下) = 0;
while (1)
{
$sql = "SELECT `id` FROM `user` ORDER BY `id` DESC LIMIT 1";
$result = mysql_query($sql); result);
$new_id = $item['id'];
$values_arr = array();
for ($i=$new_id; $i>$old_id && $old_id!=0; $i--)
{
$sql = "SELECT `name`,`age` FROM `user` WHERE `id`='{$i}' LIMIT 1";
$result = mysql_query($sql);
$item = mysql_fetch_assoc($ result);
$name = $item['name'];
$age = $item['age'];
$values_arr[] = "('{$name}', '{$age}')" ;
}
if (!emptyempty($values_arr))
{
$values_str = implode(',', $values_arr);
2$sql = "INSERT INTO `user2``name,` $values_str}";
mysql_query($sql);
}
$old_id = max($old_id, $new_id);
sleep(3); //3秒後再進入循環}
}
sleep(3); //3秒後再進入循環}說的,就有幾處要注意的地方:
第一行是PHP CLI模式需要加入的指令路徑,還有就是那個while(1)和sleep(3),其餘都是普通的php程式碼寫法。
實際應用中可以放到後台運作:
php dbtest.php &
bg 1
PS:&指令很多地方說的很不清楚,甚至錯誤。它只是將程式放入後台,而並沒有實際運行!
順帶總結複習一下linux的前後台運行相關命令
命令前後台狀態使用方式