概要
FTP サーバーより、ファイルをダウンロードし、内容を少し変更して、アップロードします。
某フリーのウェブサーバーって、暫く更新無いと、アカウント削除されるじゃ無いですか。
サイトは別にどうでも良いんですけど、メールアドレスをメインで使用しているものですから・・・。
って言うか、そこのサーバーのメールアドレス使えなくなったんで、今さらどうでも良いのですが。
FTP サーバーより、ファイルをダウンロードし、内容を少し変更して、アップロードします。
某フリーのウェブサーバーって、暫く更新無いと、アカウント削除されるじゃ無いですか。
サイトは別にどうでも良いんですけど、メールアドレスをメインで使用しているものですから・・・。
って言うか、そこのサーバーのメールアドレス使えなくなったんで、今さらどうでも良いのですが。
このページに書かれている事を実行して、何が起こっても私は知りません。
まぁ、このページに到達された方なら大丈夫でしょうけど(^o^)。
スクリプト re997001.cgi を適当に起動して下さい。
タスク登録するとか、crontab 登録とか。
和ジオの場合は、文字コードを EUC で統一しとかないと、まずいかもです。
[re997001.cgi:ここから]====================================================================== #!/usr/local/bin/perl # re997 和ジオトップページ自動更新 # crontab により起動 # 和ジオに ftp ログインして、index.html を get # index.html の日付テキストを変更 # index.html を put use strict; use Net::FTP; # 接続設定とかです。 my $R_settings ={}; $R_settings->{server} = "ftp.geocities.co.jp"; $R_settings->{user} = "user"; $R_settings->{pass} = "pass"; $R_settings->{target} = "index.html"; $R_settings->{resource} = "index.html"; my $C_line_check = "<!-- add on -->"; my $FTP; my @Day_text = ('日曜日','月曜日','火曜日','水曜日','木曜日','金曜日','土曜日'); # 和ジオに ftp ログインして、index.html を get &FTP_get_file; # index.html の日付テキストを変更 &change_resource; # index.html を put &FTP_put_file; exit; #=============================================================================================================> sub FTP_get_file { # 和ジオに ftp ログインして、index.html を get $FTP = Net::FTP->new($R_settings->{server}) or die "Can't connect $@"; $FTP->login($R_settings->{user},$R_settings->{pass}) or die "Can't login $@"; $FTP->get($R_settings->{target}) or die "Can't get $@"; } # 和ジオに ftp ログインして、index.html を get #=============================================================================================================> sub change_resource { # index.html の日付テキストを変更 # <!-- add on --><HR color="#0000ff"><p>今日は金曜日です。</p> # テキスト部分を編集 # 日時を取得 $ENV{'TZ'} = "JST-9"; my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year -= 100; ++$mon; my $P_text = sprintf("%02d/%02d/%02d『%s』",$year,$mon,$mday,$Day_text[$wday]); $P_text = '<HR color="#0000ff"><p>' . $P_text . '<p>'; open(OUT, "+< $R_settings->{resource}"); flock(OUT, 2); my @lines = <OUT>; truncate(OUT, 0); seek(OUT, 0, 0); foreach my $line(@lines) { #編集後テキスト挿入 if ($line =~/^$C_line_check/) { $line = $C_line_check . $P_text . "\n"; last; } } print OUT @lines; close(OUT); } # index.html の日付テキストを変更 #=============================================================================================================> sub FTP_put_file { # index.html を put $FTP->put($R_settings->{resource}) or die "Can't put $@"; $FTP->quit() or warn "Can't put $@"; } # index.html を put #=============================================================================================================> [re997001.cgi:ここまで]======================================================================