続・新しい月のファイルを作る
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 ならびに トラックバック ping URI
- http://diary.noasobi.net/2003/12/diary_031229a.html