トップ > たつをのホームページ > 小さなツールたち > 指定されたファイルを...

指定されたファイルを見張り更新されたら何かを行うプログラムの雛型


miharing は、 指定されたファイルを見張り、 そのファイルが更新されたら何かを行う、という小さなプログラムです。 雛型としてご利用下さい。 「無償・無保証・著作権放棄」 で公開しています。

#! /usr/bin/env perl
### NO WARRANTY, NO COPYRIGHT! ###
# ファイルの更新を見張って、更新されたら何かを行う
# Usage: prog file
use strict;
my $fn = shift @ARGV;		# 監視対象ファイル
my $up;
while (-e $fn) {
    my $cur = (stat $fn)[9];	# 監視対象ファイルの更新時間
    #print "$up $cur\n";	# for debug
    if ($up != $cur) {
	### 対象ファイルがアップデートされたときに行う処理
	# ここから
	print "update!\n";
	# ここまで
	$up = $cur = (stat $fn)[9];
    }
    sleep 1;			# 監視間隔
}

起動直後は、ファイルの更新のあるなしにかかわらず、 「何か」を行うようになっています。 それでは困るという場合は 7 行目を以下のようにします。

my $up = (stat $fn)[9];

私は、ライブカメラ の画像をローカルのマシンから Web サーバへアップデートするのに使っています。


トップ > たつをのホームページ > 小さなツールたち > 指定されたファイルを...