« April 2006 | Main | June 2006 »

May 29, 2006

レジストリ モニタ

レジストリの変更をモニタするソフト"Regmon"です。

--Regmon v7.02 Download
http://www.sysinternals.com/Utilities/Regmon.html

このソフトを使用し、Tweak UIなどで設定を変更を行った場合、
レジストリの変更箇所がわかります。


--参考ページ
http://www.atmarkit.co.jp/fwin2k/win2ktips/111regmon/111regmon.html
http://www.sysinternals.com/


←クリック一票

| | Comments (0) | TrackBack (0)

VBA 定期的にデータ取得

ある一定の間隔ごとにSheet1のE21を”値”と
してSheet2へ取得・記録するVBAです。

-----
Private Sub CommandButton1_Click()

Dim Cnt As Interior

'繰り返し開始 ここから
    For i = 1 To Cnt

'Sheet1 リフレッシュ
        Sheets("Sheet1").Select
        ActiveWorkbook.RefreshAll

        Sheets("Sheet2").Select
    With Worksheets("Counter")
        .Range("A65536").End(xlUp).Offset(1, 0).Value = "=NOW()"
        .Range("A65536").End(xlUp).Select
       
'データを”値”として貼り付け
Selection.Copy
         Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
            False, Transpose:=False

        .Range("B65536").End(xlUp).Offset(1, 0).Value = "=Sheet1!E21"
        .Range("B65536").End(xlUp).Select
       
'データを”値”として貼り付け
Selection.Copy
         Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
            False, Transpose:=False

        .Range("A65536").End(xlUp).Select
        'セルの選択解除
Application.CutCopyMode = False

'5分間待機
         Application.Wait Time:=Now + TimeValue("00:05:00")
     End With

     Next
'繰り返し終了 ここまで

End Sub
-----

--参考ページ
http://www.asahi-net.or.jp/~ef2o-inue/top01.html
http://www.moug.net/

←クリック一票

| | Comments (0) | TrackBack (0)

May 22, 2006

バックアップ USBメモリ

価格も手ごろになってきた”USBメモリ”を使用したバックアップ
システムを作成しました。
USBメモリをUSBポートに挿すだけでMy Documents以下のファイルを
コピーするバッチです。

Backup_USB.bat
----
@echo off

if not exist Backup mkdir Backup

xcopy "%USERPROFILE%\My Documents" Backup /s /e /c /v /h /d /y

exit
----

自動で起動するようにautorun.infも作成します。
autorun.inf
----
[autorun]
open=Backup_USB.bat
----

上記2つのファイルをUSBメモリ直下に作成します。

しかし、挿すだけで自動でBackup_USB.batが起動しません、、、
とりあえずBackup_USB.batをマニュアルで実行させました。

Backup配下に日付フォルダを作成する場合
Backup_USB_d.bat
----
@echo off

if not exist Backup mkdir Backup
cd Backup

if not exist %Date:~0,4%-%Date:~5,2%-%Date:~8,2% mkdir %Date:~0,4%-%Date:~5,2%-%Date:~8,2%
cd %Date:~0,4%-%Date:~5,2%-%Date:~8,2%

xcopy "%USERPROFILE%\My Documents" Backup /s /e /c /v /h /d /y
----

現状、1GのUSBメモリが大体8,000円台で購入可能です。
1つあってもよい外部デバイスなのではないでしょうか。
ただし、会社での使用を考える場合は個人情報保護法に抵触しないか、
また情報漏えいのリスクを考えましょう。

←クリック一票

| | Comments (2) | TrackBack (0)

May 18, 2006

バックアップ 日付フォルダ

日付フォルダを作成し、その中にMy Documentsを保存するバッチ
です。
ヒストリカルにデータ保存をする際に最適かと思われます。

Backup.bat
-----
REM Folder name is YYYY-MM-DD

z:
if not exist Backup mkdir Backup
cd Backup

if not exist %Date:~0,4%-%Date:~5,2%-%Date:~8,2% mkdir %Date:~0,4%-%Date:~5,2%-%Date:~8,2%
cd %Date:~0,4%-%Date:~5,2%-%Date:~8,2%

xcopy "%USERPROFILE%\My Documents" . /s /e /c /v /h /d /y

exit
-----

z: 保存先のドライブ名です。
%Date:~0,4% コマンド"date /t"の0桁目から4文字選択


上記バッチファイルを実行すると実際には
x:\Backup\2006-05-18\ 配下にファイルがコピーされます。


←クリック一票

| | Comments (0) | TrackBack (0)

May 15, 2006

玄箱 qpopper

POP3を導入するためにqpopperをインストールしました。

--qpopperのインストール
# apt-get update
# apt-get install qpopper

アクセス制限は/etc/hosts.allow及び/etc/hosts.deney
編集します。


--参考ページ
http://shikichi.ddo.jp/ntp_set.html

←クリック一票

| | Comments (0) | TrackBack (0)

May 12, 2006

玄箱 Postfixインストール

メールサービスであるPostfixのインストールを行いました。
(玄箱のLinuxは"Debian"です。)

まず、無料ダイナミックDNSへ登録をします。
今回は、"Dynamic DO!.jp"を使用した例です。
Domainは"hogehoge"とします。

--Dynamic DO!.jp
http://ddo.jp/

*ホストネームの変更(必要に応じて変更する)
/etc/hosts 及び /etc/hostname
を書き換える

*Postfixのインストール
# apt-get update
# apt-get install postfix


*/etc/postfix/main.cfを書き換える

# vi /etc/postfix/main.cf
----
mydomain = hogehoge.ddo.jp
myhostname = hogehoge.ddo.jp

mydestination = $myhostname, localhost.$mydomain, $mydomain

mynetworks = 192.168.1.0/24, 127.0.0.0/8

smtpd_helo_required = yes
allow_percent_hack = yes
swap_bangpath = yes
disable_vrfy_coomand = yes
smtpd_client_restrictions = permit_mynetworks, reject_unknown_client, permit
smtpd_recipient_restrictions = permit_mynetworks, reject_sender_login_mismatch, check_rela
y_domains
smtpd_sender_restrictions = reject_unknown_sender_domain, reject_sender_login_mismatch
smtpd_etrn_restrictions = permit_mynetworks, reject_invalid_hostname
----

*サービスの再起動
# /etc/init.d/postfix restart

*メール送信テスト
$ mail hoge@nifty.com <--mail 送信先
Subject: test mail <--メールのタイトル
test test <--本文
. <--ピリオドで終了
Cc: <--CCに追加があれば入力
----

--参考ページ
http://shikichi.ddo.jp/postfix_set.html
http://www.kobitosan.net/postfix/

--第三者中継調査
http://www.nanet.co.jp/rlytest/relaytest.html


←クリック一票

| | Comments (0) | TrackBack (1)

May 06, 2006

メール送受信テストシステム(2)

メール送信部のプログラム

testmail.cgi
----
#!/usr/local/bin/perl

# 画面表示
print "Content-type: text/html \n\n";
print "< html > \n";
print "< head > < title > Test send mail< /title > < /head > \n";
print "< body > \n";
print "< h1 > Test send mail< /h1 > \n";
print "< hr / > ";


use CGI;
use Jcode;


# 引数を取得する
$input_data = new CGI;

$count = $input_data- > param('count');
$to = 'hogehoge@japan.com';


# 送信前処理
$mailname = jcode($name)- > jis;


# ループ

for( $i=1 ; $i< =$count ; $i++) {

#######################
# 実行時の日時を取得

($sec, $min, $hour, $day, $mon, $year, $wdy, $yday, $isdst) = localtime(time);
@youbi = ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
$year += 1900;
$mon++;

$time = "$year-$mon-$day, @youbi[$wdy], $hour:$min:$sec";


#######################
# Send mail

open (MAIL, "| /usr/lib/sendmail -t");

print MAIL "To: $to \n";
print MAIL "Subject: $time \n";
print MAIL "Content-Type: text/plain; \n\n";
print MAIL "test mail \n";

close(MAIL);

print "現在の日時は $year-$mon-$day, @youbi[$wdy], $hour:$min:$sec です。< br \/ > \n";
print "ただいま $i 回メールを送信しました。 < br \/ > \n";

#######################
# インターバル 5分

sleep(300);

}


# 画面表示

print "Test mail は $count 回繰り返されました。 \n";

print "< /body > < /html > \n";

exit;
----

しかし、現状借りていますレンタルサーバーにて動作テストを
するとタイムアウトを起こしてしまいます。(300秒の待ちは無理)
当たり前と言えば当たり前ですが、、、
たぶんサーバーの設定で"keep alive"は100sあたりになっているので
しょう。次なる手段として、自宅サーバーにPostfixなるメールサービスを
導入して、Perlスクリプトをcronで自動実行させてみようかと
考えています。


--参考図書
CGI/Perlハンドブック 第3版


←クリック一票

| | Comments (0) | TrackBack (0)

May 05, 2006

メール送受信テストシステム(1)

自動でメールの送受信をテストするシステムを作成してみたいと
思います。

--システム
外部システムからメールを受信 - メールクライアントより
エージェントを走らせ受信時に携帯メールへ転送

--用件
外部システム
・5分おきに送信
・Subjectに日時を挿入
・繰り返し回数を指定できる
・CGI及びSend mailで設計
実行インターフェース:testmail.html 
送信プログラム:testmail.cgi


testmail.html
----
< html >

< head >
< meta http-equiv="content-type" content="text/html; charset=shift_jis" >
< title > Test send mail< /title >
< meta name="generator" content="Namo WebEditor v6.0" >
< /head >

< body bgcolor="white" text="black" link="blue" vlink="purple" alink="red" >
< h1 > Send mail< /h1 >
< p >  < /p >
< form name="sendMail" method="post" action="./testmail.cgi" >
< p > Count: < input type="text" name="count" size="3" > < /p >
< p > < input type="submit" name="send" value="send" > < input type="reset" name="clear" value="clear" > < /p >
< /form >
< p >  < /p >
< /body >

< /html >
----


--参考図書
CGI/Perlハンドブック 第3版


←クリック一票

| | Comments (0) | TrackBack (0)

May 01, 2006

フォームからメールを送信 (2)

メールを送るためのCGIです。

sendMail.cgi
----
#!/usr/local/bin/perl

use CGI;
use Jcode;

# 引数を取得する
$input_data = new CGI;

$name = $input_data->param('name');
$subject = $input_data->param('subject');
$address = $input_data->param('address');
$body = $input_data->param('body');

# 送信先を指定する
$to = 'hoge@loripop.jp';


# 送信前処理
$mailname = jcode($name)->jis;
$mailbody = jcode($body)->jis;
$mailsubject = jcode($subject)->jis;


# メール送信

open (MAIL, "| /usr/lib/sendmail -t");

print MAIL "To: $to \n";
print MAIL "Subject: $mailsubject \n";
print MAIL "Content-Type: text/plain; \n\n";
print MAIL "名前: $mailname \n";
print MAIL "e-mail: $mailname \n";
print MAIL "$mailbody \n";

close(MAIL);


# 送信内容
$body =~ s/[\r\n,\n]/< br \/ > /g;


# 画面表示
print "Content-type: text/html \n\n";
print "< html > \n";
print "< head > < title > Test send mail< /title > < /head > \n";
print "< body > \n";
print "< h1 > Test send mail< /h1 > \n";
print "< hr / > ";
print "以下のメールを送信しました \n";
print "Name: $name< br / > \n";
print "Subject: $subject< br / > \n";
print "email: $address< br / > \n";
print "Body: $body \n < br / > ";
print "< /body > < /html > \n";

exit;
----

--参考図書
CGI/Perlハンドブック 第3版


←クリック一票

| | Comments (0) | TrackBack (0)

« April 2006 | Main | June 2006 »