パソいろ パソコンやIT関連、周辺機器や開発のことなど

パソコンや開発、Linuxやデータベースのことなど

サーバー起動時にXenのDomainUを自動起動
LinuxのCentos5.7で設定。

/etc/xen/autoに設定ファイル(仮想環境に付けた名前で/etc/xenに作られるファイル)をリンクしておくと次回起動時(再起動など)に自動的にDomain-Uが起動される。

(例)
ln -s /etc/xen/virt1 /etc/xen/auto/virt1


再起動や起動後すぐにxm listをしても仮想サーバーが立ち上がってない場合があるので、あせらず待つ。


それでも起動しない場合は
chkconfig xendomains on
で、xendomainsも自動的に起動するように設定。


それでもドメインUの自動起動が失敗する場合は
xendomainsの実行タイミングを遅らせる。

xendが完全に起動する前にxendomainsが起動しているかららしい。

xendomainsの起動スクリプトを変更してスクリプトの起動タイミングを遅らせる。

# vi /etc/init.d/xendomains

関数start部分に「sleep 60」を追加。

start()
{
sleep 60
if [ -f $LOCKFILE ]; then



-----
ドメインUをシャットダウン後、ドメイン0をシャットダウン・起動するとドメインUは自動起動しないみたい。
考え方としてはわかるような・・・

PHPで日付の差(日数)を求める
PHPで日付の差(日数)を求めるサンプルプログラム。
日付が文字列で渡される場合、スマートな解決方法?

<?php
$date1 = "2012/10/10";
$date2 = "2012/11/15";

$daydiff = (strtotime($date2)-strtotime($date1))/(3600*24);

echo $daydiff;
?>

実行結果:
36


今日(本日)の日時からの日差を求める

(strtotime(date("Y-m-d H:i:s"))-strtotime("2012/11/15"))/(3600*24)

うーん、今日の日付のdate型の環境変数とかあったような・・・?

【解説】
strtotime
Unix タイムスタンプ (1970年1月1日 00:00:00 UTC からの経過秒数)を求める

つまり文字列日付をUnixタイムスタンプ秒に変換し差分を求め、1日の秒数(3600*24)で割り経過日数を求めている。