ファイルのバックアップ

このエントリーを含むはてなブックマークはてなブックマーク - ファイルのバックアップ

サイトで自動生成されているファイル(軽いテキストファイル)を指定時間にバックアップする。Perl の CGI で sendmailを使って、メールにファイルを添付させて自動的に送らせる。Cronを使えない場合で、アクセスが少ないサイトの場合。

ウェブページへのアクセスをトリガーにして送るようにします。
ですので、あまりアクセスの多いサイトでは使えません。

ページがロードしたら、CGIが動作するように仕掛けます。カウンタと同じ仕組みです。
ロードがトリガーなので多少のずれがあります。

たとえば21時になったら送信する場合、21時になったら21時の時間帯に一度だけ送信する、という仕組みです。
何度も送信しないで一回だけ送信させます。

#21時に送信するには……

#20時にタイマーセット……
if ($hour == 20) {$timeflag = 1;}
if ($timeflag) {
#21時になったら送信
if ($hour == 21) {&sendfiler;
#タイマーを元に戻しておく
$timeflag = 0;
}
}

&sendfiler はファイルを送信するサブルーチンと考えてください。
MIME::Base64::encodeを使ってEncodingをBase64にして送ります。
ネットでも方法がたくさん出てます。

指定時間を増やすこともできるでしょう。

if ($hour =~ /10|16|22/) {$timeflag = 1;}
if ($timeflag) {
if ($hour =~ /11|17|23/) {&sendfiler;
$timeflag = 0;
}
}

もっと簡単な方法があるかもしれません。ご容赦。