在shutdown / reboot时在LAMP上运行PHP脚本(使用/ MYSQL)

时间:2010-11-10 16:01:10

标签: php mysql ubuntu

我需要在LAMP关闭/重启时执行PHP脚本。 该脚本将更新在远程服务器上运行的Mysql数据库上的本地服务器的状态。

<?php
print "Updating Hosts...";
mysql_connect('localhost','ivo','andream');
mysql_select_db('ecom');
$query = "SELECT * FROM companies"; 
$result=mysql_query($query);
$num=mysql_num_rows($result);
$i=0;
while ($i < $num) {
    $remote=mysql_result($result,$i,"sito");
    $remdbport=mysql_result($result,$i,"dbport");
    $remhost = ''.$remote.':'.$remdbport.'';
    $remdb=mysql_result($result,$i,"database");
    $remusr=mysql_result($result,$i,"remusr");
    $rempswd=mysql_result($result,$i,"rempswd");
    $rconnect=mysql_connect($remhost,$remusr,$rempswd);
    mysql_select_db($remdb,$rconnect);
    $query = "UPDATE lareaclient SET serverstate = '0' WHERE kiave = 'workarea'";   
    $resultloop=mysql_query($query);
        mysql_close($rconnect);
    $i++;
}
mysql_close();
print "Hosts updating complete";
?>

在CLI上以这种方式启动脚本时运行良好:

root@server:/home/mylamp# lynx -dump https://ecom.anys.info/private/serverstatedown.php

但似乎无法在关机或重启时工作。 我在一个带有

的运行级别0和6的bash脚本中包含了相同的CLI
root@server:/home/mylamp# update-rc.d apache1 start 01 0 6 

但没有任何反应 我的想法是Mysql服务在PHP脚本执行之前就停止了。 那是错的吗?有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以通过添加

从shell运行脚本
#!/usr/bin/php

到脚本的顶部;然后通过cron运行它:

@reboot root /path/to/apache1