朝顔日記

続・新しい月のファイルを作る

2003-12-29

新しい月のファイルを作るで書いたスクリプトをcronで回す予定だったのですが、もし失敗して月が変わる前に実行されたりしたら、その月のファイルが上書きされてなくなってしまいそうに思えて怖くなってきたので、shinchan(誰)に相談して、ファイルが存在したら何もしないようにすることにしました。あと、SSIを有効にするために、XBitHack full を使っているので、ファイルに実行属性をつけないといけないんですが、それを失念していたのでそれも追加。ということで、以下のようなスクリプトになりました。


#!/usr/bin/perl
@date = localtime(time);
$year=sprintf("%04d",$date[5]+1900);
$this_month=sprintf("%02d",$date[4]+1);
$prev_diary = sprintf("%02d%02d",$date[5]-100-($date[4] == 0),$date[4] + 12*($date[4] == 0));
$this_diary = sprintf("%02d%02d.html",$date[5]-100,$this_month);
if (-f "/home/hogehoge/$this_diary"){
  exit;
}
open(FILE,"+>/home/hogehoge/$this_diary");
print FILE <<__HTML__;
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
(中略)
<link rel="prev" href="$prev_diary.html" />
(中略)
<title>朝顔日記 $year年$this_month月</title>
</head>
<body>
(中略)
</body>
</html>

__HTML__
close(FILE);
chmod(0754, "/home/hogehoge/$this_diary");

さっき cron 仕掛けたんですが、なんか心配だなぁ。1回うまく行けばあとは大丈夫だと思うのですが…。1月1日は、ちゃんとうまく行くか見張ってよう。:p)

「続・新しい月のファイルを作る」へコメントをつける

書き込み時の挙動について
URI らしき文字列には自動的にリンクが張られます。また "<" や、">" は実体参照化されます。
スパム対策のため、リファラを切っていると投稿できません。

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2003/12/diary_031229a.html