更新のタイミング |
作成日:2000-11-05 最終更新日: |
先に述べたスクリプトに関して、 本当はまだ直すべきところがたくさんある。一つだけ述べる。
アップロードすべきファイルは一律に24時間前以降に更新されたファイルとしたが、 本来はアップロードすべきファイルは、 最後にアップロードした時刻より後で更新されたファイルすべてとすべきだ。
これを実現するため、次のように考えた。 まず、最後にアップロードした時刻を記録するファイルを用意する。 これを kosin.txt という名前とする。 そして、アップロードをする前に、このファイルのタイムスタンプを読み込んでおく。 このファイルの更新時刻より新しいファイルをアップロードの対象とする。 そして、アップロードをした後で、このときの時刻をファイルにアップロードする。
$kankaku = (-M 'kosin.txt'); # 最後にアップロードされてからどれだけ時間がたったか
(中略)
if ((-f $_) && (-M $_ < $kankaku)) { # 最後のアップロード以降変更されたファイルに対して
(中略)
open(KOSIN, '>>kosin.txt'); # 更新ファイルに書き込む
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);
printf KOSIN "%4d-%02d-%02d %02d:%02d:%02d\n",
$year + 1900, $mon + 1,$mday, $hour, $min, $sec;
close(KOSIN);
まりんきょ学問所 > perl手習いの部屋 > 更新のタイミング