自分用メモ。Visual Studio 2008 Express Editionにて。

メインフォーム(ダミーなわけだけど)を配置したら、NotifyIconを配置。
アイコンからアプリケーションを操作するため、ContextMenuStripも配置。

メニューの中身は適当に実装してNotifyIconにくっつけておく。

で、フォームのプロパティで

  WindowState を Minimized
  ShowInTaskbar を False

にすると、起動してもフォームは表示されず、通知領域のアイコンのみ表示される。
趣旨は、WindowStateは起動時のフォームの状態で、これが最小化に設定されている。
でもShowInTaskbarがFalseなので表示されず、NotifyIconだけが残っている状態。
*最小化してもこういうの↓が表示されない=通知領域だけ表示
taskbar.JPG

なので当然ながら、NotifyIconを設定し忘れていたり終了メニューを実装し忘れていたりすると
ユーザーに不親切なアプリケーションができあがる。

 

自動でダウンロードする方法は前々回の記事、cygwin の cron に移植した記録は前回の記事を参照してもらうこととして、
今回は ApacheLogViewer  用に整形します。

と言っても2列目をドメインに差し替えるだけですが。

なので、ドメインが1つだけの契約なら関係ありません。

ロリポップのくれたサブドメインと、独自ドメインと、独自ドメインのサブドメインがあるような状況を想定しています。

 

#!/bin/sh
cd /home/lolipop_log # .gzが日々落ちてくるディレクトリを指定
out=/home/lolipop_log/alv # 解凍したログを出力するディレクトリ
suffix=`date +"%s"`
suffix=`expr ${suffix} - 86400` # 前日のログを処理するので.
suffix=`echo ${suffix} | perl -ne '@t=localtime($_);printf("%d%02d%02d",@t[5]+1900,@t[4]+1,@t[3])'`
# バーチャルドメインを列記。
for domain in dphoge.lolipop.jp www.foo.net bar.net ;do
  zcat ${domain}.${suffix}.gz | awk -vVAL=${domain} '$2=VAL {print $0}' > ${out}/${domain}.${suffix}.log
done

 

これを適当な名前で保存 -> chmod +x –> crontab –e で、ログを落としたあとの時刻に登録。

crontab –l するとこんな感じになっています。

SHELL=/bin/sh
45 23 * * * /home/lolipop_log/dl_lolipop_logs.sh
55 23 * * * /home/lolipop_log/format.sh

ps コマンドで扱えるのは cygwin にぶら下がっているプロセスだけなので、
cygwin からでも Windows のコマンドを使う。

 

・実行されているすべてのタスクを表示する

% tasklist

・それぞれのプロセスのサービスを表示する

% tasklist /SVC

* tasklist コマンドのオプションでプロセスの絞込みができるが、| grep のほうが自然なので割愛。

・特定のプロセスをkillする

% taskkill /PID 99999 /F

・特定のアプリケーションをすべてkillする(killall like)

% taskkill /IM notepad.exe /F

 

# Windows Live Writer Beta のテストを兼ねて投稿。

drm2wmv_eは複数のファイルを対象にできないので、1つずつ順番に作業するバッチを生成する。
作業用PCにはPerlを入れていないので自分用に作成。
復元キーを直接貼り付けるので、ソースを持って帰って自前の環境で動かしてください。
フォームの入力内容はSTDINで読んで処理してSTDOUTに吐くだけなので、ファイルに残したりログ取ったりはしていませんが。
->CGIソース

あくまで身内仕様につき不具合があっても知りません。
使用は自己責任で。

path of drm2wmv_e

paste key from FairUse4WM




参考:FairUse4WMとdrm2wmv_eの合わせ技でDRMを解除

manpage of TCPTRACE [拙訳]

ダウンロードはこちら

名前
tcptrace - TCPコネクション分析ツール

書式
tcptrace [options] filename

説明
tcptraceはコマンドライン上でtcpdumpファイル(または標準入力から)の詳細を
取得し、コネクションの概要を生成する。

オプション
出力形式オプション

-b 簡単な出力形式

-l 詳細な出力

-r print rtt statistics (大きなファイルは遅くなる)

-W ウィンドウサイズの予想を報告する (普通役に立たない)

-q 出力しない (モジュールの出力だけ欲しい場合)

グラフ描画オプション

-T スループットのグラフを作成する (10セグメント以上の平均、-Aを参照)

-R Round Trip Timeのグラフを作成する

-S タイムシーケンスのグラフを作成する

-N 輻輳ウインドウのグラフを作成する (ネットワーク上の輻輳データ)

-F セグメントサイズのグラフを作成する

-G すべてのグラフを作成する

出力形式の詳細オプション

-D 10進数で表示

-X 16進数で表示

-n ホストまたはサービス名の名前解決をしない (高速)

-s 短い名前を使う (リスト "picard.cs.ohiou.edu" は "picard" になる)

コネクションフィルタリングオプション

-iN コネクション番号Nを無視する (複数指定可能)

-oN[-M]
コネクション番号Nだけ(またはNからM)を対象にする。引数は複数指定可能。
Nは番号よりもむしろ、代わりにファイルからリストを読む。

-c 完結していないコネクション(SYNとFINが見つからない)を無視する

-BN 分析の最初のシーケンス番号 (デフォルト 1)

-EN 分析の最後のシーケンス番号 (デフォルト ファイルの最後)

グラフ描画の詳細オプション

-C カラー描画出力

-M モノクロ描画出力

-AN スループットグラフでN個のセグメントを平均する。デフォルトは10。

-z 0軸オプション:

-z 時間軸を時刻ではなく0からでプロットする (下位互換)

-zx 時間軸を時刻ではなく0からでプロットする

-zy シーケンス番号を0からでプロットする (タイムシーケンスグラフ専用オプション)

-zxy X軸、Y軸とも0からでプロットする

-y スループットグラフで、瞬間スループットの(黄色の)点を省略する

その他のオプション

-Z 生のrtt sample timesをファイルにダンプする

-p パケットの内容すべてを表示する (とても長くなり得る)

-P 選択したコネクションのパケットの内容を表示する

-t 進捗度をパケット数で刻む'tick' off the packet numbers as a progress indication

-v バージョン情報を表示して終了する

-w 警告を多く表示する

-d 動作中は合図する (デバッグ有効。さらに出力するには -d -d を使う)

-e 各TCPストリームの内容をファイルに抜き出す

-h ヘルプメッセージを表示する

-u 最小限のUDPの情報も表示する

-Ofile
マッチしたパケットをtcmdumpファイル 'file' にダンプする

+[v] -[v]の設定内容を逆にする (bool型用)

bool型の拡張オプション (未指定でもデフォルト値で動作)

--showsacks
タイムシーケンスのグラフでSACKブロックを表示する (デフォルト)

--noshowsacks
タイムシーケンスのグラフでSACKブロックを表示しない

--showrexmit
タイムシーケンスのグラフで再送をマークする (デフォルト)

--noshowrexmit
タイムシーケンスのグラフで再送をマークしない

--showoutorder
タイムシーケンスのグラフで破損をマークする (デフォルト)

--noshowoutorder
タイムシーケンスのグラフで破損をマークしない

--showzerowindow
タイムシーケンスのグラフでウィンドウが0をマークする (デフォルト)

--noshowzerowindow
タイムシーケンスのグラフでウィンドウが0をマークしない

--showurg
タイムシーケンスのグラフでURGENTビットがセットされたパケットをマークする (デフォルト)

--noshowurg
タイムシーケンスのグラフでURGENTビットがセットされたパケットをマークしない

--showrttdongles
Round Trip Time以外が生成した、特殊な記号付きACKをマークする

--noshowrttdongles
Round Trip Time以外が生成した、特殊な記号付きACKをマークしない (デフォルト)

--showdupack3
タイムシーケンスのグラフで3重複ACKをマークする (デフォルト)

--noshowdupack3
タイムシーケンスのグラフで3重複ACKをマークしない

--showzerolensegs
タイムシーケンスのグラフで長さが0のパケットを描画する (デフォルト)

--noshowzerolensegs
タイムシーケンスのグラフで長さが0のパケットを描画しない

--showzwndprobes
ウィンドウが0のProbeパケットを描画する (デフォルト)

--noshowzwndprobes
ウィンドウが0のProbeパケットを描画しない

--showtitle
グラフにタイトルを描画する (デフォルト)

--noshowtitle
グラフにタイトルを描画しない

--res_addr
IPアドレスの名前解決を行う (たぶん遅い) (デフォルト)

--nores_addr
IPアドレスの名前解決を行わない (たぶん遅いw)

--res_port
ポート番号の名前解決を行う (デフォルト)

--nores_port
ポート番号の名前解決を行わない

--checksum
IPとTCPのチェックサムを検証する

--nochecksum
IPとTCPのチェックサムを検証しない (デフォルト)

--dupack3_data
運ぶデータの重複したACKを3重複ACKとして数える

--nodupack3_data
運ぶデータの重複したACKを3重複ACKとして数えない (default)

--check_hwdups
ハードウェアの重複をチェックする (デフォルト)

--nocheck_hwdups
ハードウェアの重複をチェックしない

--warn_ooo
パケットのタイムスタンプが破損していたら警告を表示する

--nowarn_ooo
パケットのタイムスタンプが破損していても警告を表示しない (default)

--warn_printtrunc
パケットが分析には短すぎる場合に警告を表示する

--nowarn_printtrunc
パケットが分析には短すぎる場合でも警告を表示しない (default)

--warn_printbadmbz
0であるべきTCPの列が0でない場合に警告を表示する

--nowarn_printbadmbz
0であるべきTCPの列が0でない場合でも警告を表示しない (default)

--warn_printhwdups
ハードウェアの重複を警告する

--nowarn_printhwdups
ハードウェアの重複を警告しない (default)

--warn_printbadcsum
パケットのチェックサムが不一致なら警告を表示する

--nowarn_printbadcsum
パケットのチェックサムが不一致でも警告を表示しない (default)

--warn_printbad_syn_fin_seq
SYNかFINが異なるシーケンス番号で再送したとき警告を表示する

--nowarn_printbad_syn_fin_seq
SYNかFINが異なるシーケンス番号で再送したときでも警告を表示しない (default)

--dump_packet_data
パケットとTCP/UDPのダンプデータをすべて表示する

--nodump_packet_data
パケットとTCP/UDPのダンプデータを表示しない (default)

--continuous
連続的に実行し、概要を提供しない

--nocontinuous
連続実行はせず、概要を提供する (default)

--print_seq_zero
最初のシーケンス番号からのオフセットで表示する

--noprint_seq_zero
シーケンス番号をオフセットではなく本来の値で表示する (default)

--limit_conn_num
リアルタイムモードで一度に保持するコネクションに上限を設ける

--nolimit_conn_num
リアルタイムモードで一度に保持するコネクションに上限を設けない (default)

--xplot_all_files
生成したすべてのxplotファイルを最後に表示する

--noxplot_all_files
生成したすべてのxplotファイルを最後に表示しない (default)

--ns_hdrs
nsのuseHeadersフラグがtrueだと仮定する (IP+TCP ヘッダを使う) (default)

--nons_hdrs
nsのuseHeadersフラグがfalseだと仮定する

--csv
長い出力をカンマ区切りデータとして表示する

--nocsv
長い出力をカンマ区切りデータとして表示しない (default)

--tsv
長い出力をタブ区切りデータとして表示する

--notsv
長い出力をタブ区切りデータとして表示しない (default)

拡張変数オプション (未指定でもデフォルト値で動作)

--output_dir=``STR''
すべての出力ファイルが配置されるディレクトリ (default: '')

--output_prefix=``STR''
この文字列がすべての出力ファイルの接頭辞 (default: '')

--xplot_title_prefix=``STR''
すべての xplot ファイルに付けられる接頭辞 (default:
'')

--update_interval=``STR''
リアルタイムモードで、更新する時間間隔 (default: '')

--max_conn_num=``STR''
リアルタイムモードで一度に保持するコネクションの最大数 (default: '')

--remove_live_conn_interval=``STR''
リアルタイムモードで、開いている接続が外されるまでのアイドルタイム (default: '')

--remove_closed_conn_interval=``STR''
リアルタイムモードで、閉じている接続が外されるまでの時間間隔 (default: '')

--xplot_args=``STR''
tcptrace から xplot を呼び出すときに渡す引数 (default: '')

--sv=``STR''
長い出力を、STRに設定された値で分割する (default: '')

含まれているモジュール

http Http分析モジュール

tcplib TCPLib分析モジュール

traffic トラフィック分析モジュール

slice 時間で区切ったトラフィック効率データ

rttgraph RRT分析モジュール

collie コネクション概要モジュール

realtime リアルタイムモードの例

モジュールの詳細なオプションは `tcptrace -hxargs` を使ってください。

フィルター変数:

フィルター変数の完全なリストは 'tcptrace -hfilter' を使ってください。

フィルター文法:

フィルターの文法は 'tcptrace -hfilter' を使ってください。

環境変数
オプションは、まず (存在すれば) $HOME/.tcptracerc を読み、そして (存在
すれば) 環境変数 TCPTRACEOPTS を読み、最後にコマンドラインから読む。

著者
Shawn Ostermann (ostermann@cs.ohiou.edu)

CREDITS
Thanks to Mark Foster (mafoster@george.arc.nasa.gov) for writing this
manual page. Thanks to Avinash Lakhiani (alakhian@irg.cs.ohiou.edu) for
updating it.

ファイル
ダンプファイル名
あとに続く引数を、ひとつ以上のファイル名になるように取ります(認識はされていない)。
ファイルは圧縮されていてもかまわない。設定は compress.h を参照。
ダンプファイルの名前が 'stdin' なら、ファイルではなく標準入力から読み込む。

関連項目
xplot tcptrace から出力された .xpl ファイルを調べる対話型ツール。

jPlot xplotのJava版。

翻訳者


http モジュール:
使いかた:
-xHTTP[P] HTTPのトラフィック情報を表示する (ポートP、デフォルトは80)
traffic モジュール:
使いかた:
-xtraffic"[ARGS]" 全体のトラフィックの情報を表示する
モジュールの引数書式:

-iS 統計の間隔を S(float) 秒に設定する。デフォルトは15.0。
-pP ポート番号Pの情報を含める
-pP1-P2 ポート番号が [P1-P2] の範囲の情報を含める
-p-P ポート番号Pの情報を除く
-p-P1-P2 ポート番号が [P1-P2] の範囲の情報を除く
-pSPEC,SPEC commas chain together specs
-G すべてのグラフを生成する
-A 'アクティブコネクション' のグラフを生成する
-B 'bps(bytes per second)' のグラフを生成する
-C 'opens and closes' のグラフを生成する
-H 'halfopen connections' のグラフを生成する
-K 'pure acKs/second' のグラフを生成する
-L 'losses per second' のグラフを生成する
-O 'open connections' のグラフを生成する
-I 'instantaneous open connections' のグラフを生成する
-P 'packets per second' のグラフを生成する
-Q 'idle (Quiet) connections' のグラフを生成する
-R[MIN[-MAX]]'round trip time' のグラフを生成する
with args, ignore samples outside MIN to MAX (in ms)
-T 'total data' のグラフを生成する。
-D[SECS] 長く持続したコネクションのグラフを生成する。「長く」のデフォルトの定義は60秒。
-d このモジュールのローカルデバッグを有効にする

-xtraffic" -p23" ポート23だけ
-xtraffic" -p1-1023" ポート1-1023だけ
-xtraffic"-p1-1023,-10-20 -L -O" ポート1-1023からポート10-20を除いたものだけ
ポート番号を明示的に指定しなければすべてのポートが含まれる。
With ANY spec, all ports are initially EXCLUDED
slice モジュール:
使いかた:
-xslice"[ARGS]" sliceのデータ情報を表示する
モジュールの引数書式:
-iS slice の間隔を S (float) 秒に設定する。デフォルトは15.0。
-d このモジュールのローカルデバッグを有効にする
-tb 日付と時刻を簡単な形式で表示
-tl 日付と時刻をUnix形式で長く表示
-tu 日付と時刻をエポック秒で表示 (secs)
-tU 日付と時刻をエポック秒で表示 (secs.usecs)
rttgraph モジュール:
使いかた:
-xrttgraph rttgraphトラフィックについての情報を表示
collie モジュール:
使いかた:
-xcollie"[-ln] コネクションの概要を提供する
-l attach labels
-n no labels please
realtime モジュール:
使いかた:
-xrealtime リアルタイム tcptrace の使い方を示すモジュールの例

フィルター変数:
変数名 種類 説明
----------------- -------- -----------------------
hostname STRING 完全修飾ドメイン名 (-n は除く)
portname STRING ポートのサービス名 (-n は除く)
port UNSIGNED ポート番号
mss SIGNED 最大セグメントサイズ
f1323_ws BOOL 1323 window scaling requested
f1323_ts BOOL 1323 time stampts requested
fsack_req BOOL SACKs requested
window_scale BOOL window scale factor
bad_behavior BOOL bad TCP behavior
data_bytes UNSIGNED bytes of data
data_segs UNSIGNED segments of data
data_segs_push UNSIGNED segments with PUSH set
unique_bytes UNSIGNED non-retransmitted bytes
rexmit_bytes UNSIGNED retransmitted bytes
rexmit_segs UNSIGNED segments w/ retransmitted data
ack_segs UNSIGNED segments containing ACK
pureack_segs UNSIGNED segments containing PURE ACK (no data/syn/fin/reset)
win_max UNSIGNED MAX window advertisement
win_min UNSIGNED MIN window advertisement
win_zero_ct UNSIGNED 0が広告されたウィンドウの数
min_seq UNSIGNED シーケンス番号の最小値
max_seq UNSIGNED シーケンス番号の最大値
num_sacks UNSIGNED number of ACKs carrying SACKs
max_sacks UNSIGNED most SACK blocks in a single ACK
segs UNSIGNED total segments
packets UNSIGNED total segments
syn_count UNSIGNED SYNs sent
fin_count UNSIGNED FINs sent
reset_count UNSIGNED RESETs sent
min_seg_size UNSIGNED smallest amount of data in a segment (not 0)
max_seg_size UNSIGNED largest amount of data in a segment
out_order_segs UNSIGNED out of order segments
sacks_sent UNSIGNED SACKs sent
ipv6_segs UNSIGNED number of IPv6 segments sent
max_idle UNSIGNED maximum idle time (usecs)
num_hw_dups UNSIGNED number of hardware-level duplicates
initwin_bytes UNSIGNED number of bytes in initial window
initwin_segs UNSIGNED number of segments in initial window
rtt_min UNSIGNED MIN round trip time (usecs)
rtt_max UNSIGNED MAX round trip time (usecs)
rtt_count UNSIGNED number of RTT samples
rtt_min_last UNSIGNED MIN round trip time (usecs) (from last rexmit)
rtt_max_last UNSIGNED MAX round trip time (usecs) (from last rexmit)
rtt_count_last UNSIGNED number of RTT samples (from last rexmit)
rtt_amback UNSIGNED number of ambiguous ACKs
rtt_cumack UNSIGNED number of cumulative ACKs
rtt_unkack UNSIGNED number of unknown ACKs
rtt_dupack UNSIGNED number of duplicate ACKs
rtt_nosample UNSIGNED ACKs that generate no valid RTT sample
rtt_triple_dupack UNSIGNED number of triple duplicate ACKs (fast rexmit)
retr_max UNSIGNED MAX rexmits of a single segment
retr_min_tm UNSIGNED MIN time until rexmit (usecs)
retr_max_tm UNSIGNED MAX time until rexmit (usecs)
trunc_bytes UNSIGNED number of bytes not in the file
trunc_segs UNSIGNED number of segments not in the file
num_zwnd_probes UNSIGNED number of zero window probes
zwnd_probe_bytes UNSIGNED number of window probe bytes
urg_data_pkts UNSIGNED Number of packets with URGENT bit set
urg_data_bytes UNSIGNED Number of bytes of urgent data
hostaddr IPADDR IP Address (v4 or v6 in standard textual notation
thruput UNSIGNED スループット (バイト/秒)

フィルター文法:
numbers:
変数:
上の表 c_を頭につければクライアント側 s_を付ければサーバー側
b_は両方とも。
e_はどちらか。
デフォルトは何もついていない。
anything from the above table with a prefix of either 'c_' meaning
the one for the Client or 's_' meaning the value for the Server. If
the prefix is omitted, it means "either one" (effectively becoming
"c_VAR OR s_VAR)"). As shorthand for a conjunction instead, you can
use the syntax 'b_' (as in b_mss>100), meaning 'B'oth, (effectively
becoming "c_VAR AND s_VAR)"). For completeness, 'e_' means 'E'ither,
which is the normal default with no prefix.
定数:
文字列: ダブルクォーテーションで囲ったもの何でも
真偽値: TRUE FALSE
数: 符号付き/符号なしの定数
算術演算子:
any of the operators + - * / %
performed on 'numbers'. Normal operator precedence
is maintained (or use parens)
関係演算子
any of < > = != >= <= applied to 'numbers'
論理演算子
AND, OR, NOT applied to the relational operators above
その他
優先度がわからなければ括弧を使う。
とにかく括弧を使っておけば私よりかっこいいはず! :-)
you'll probably need to put the '-fexpr' expression in single quotes
matched connection numbers are saved in file PF for later processing
with '-oPF' (for graphing, for example). This is helpful, because
all the work is done in one pass of the file, so if you graph while
using a filter, you'll get ALL graphs, not just the ones you want.
Just filter on a first pass, then use the "-oPF" flag with graphing
on the second pass
most common synonyms for NOT, AND, and OR also work (!,&&,||,-a,-o)
(for those of us with very poor memories

tcptrace '-fsegs>10' file
tcptrace '-fc_segs>10 OR s_segs>20 ' file
tcptrace '-f c_segs+10 > s_segs ' file
tcptrace -f'thruput>10000 and segs > 100' file
tcptrace '-fb_segs>10' file

au携帯からGPS情報を取得する

1.次のコードを、携帯のブラウザからアクセスできるページに埋め込む。
*<server>はドメイン名に置き換えること。

<?
echo "<a href=device:gpsone?url=http://server/gpsinfo.php>送信</a>";
?>


2.GPS情報はGETメソッドで送信されるので、次の変数に代入されている。
*Perlの場合は、GETメソッド解釈ー>name:valueで対応づけてハッシュに代入すると良い。

$_GET["ver"]
$_GET["datum"]
$_GET["unit"]
$_GET["lat"]
$_GET["lon"]
$_GET["alt"]
$_GET["time"]
$_GET["smaj"]
$_GET["smin"]
$_GET["vert"]
$_GET["majaa"]
$_GET["fm"]


gpsinfo.phpの例:
<?
$lat=$_GET["lat"];
$lon=$_GET["lon"];
chop($lat);/
chop($lon);
$lat_s = explode(".", $lat);
$lon_s = explode(".", $lon);
$lat_deg=$lat_s[0]+$lat_s[1]/60+$lat_s[2]/3600+$lat_s[3]/360000;
$lon_deg=$lon_s[0]+$lon_s[1]/60+$lon_s[2]/3600+$lon_s[3]/360000;

echo "$_GET["ver"]<br>";
echo "$_GET["datum"]<br>";
echo "$_GET["unit"]<br>";
echo "$lat_s[0]度$lat_s[1]分$lat_s[2]秒$lat_s[3]<br>";
echo "$lon_s[0]度$lon_s[1]分$lon_s[2]秒$lon_s[3]<br>";
echo "$lat_deg<br>";
echo "$lon_deg<br>";
echo "$_GET["alt"]<br>";
echo "$_GET["time"]<br>";
echo "$_GET["smaj"]<br>";
echo "$_GET["smin"]<br>";
echo "$_GET["vert"]<br>";
echo "$_GET["majaa"]<br>";
echo "$_GET["fm"]<br>";

echo "<a href=http://maps.google.co.jp/maps?f=q&hl=ja&geocode=&q=$lat_deg,$lon_deg>GoogleMapsで表示</a>";
echo "<br>";
?>

/etc/postinstall/gnuplot.sh
あたりを何かしているところで止まる。
(他にも2つぐらい、止まってしまうシェルスクリプトがあったけれど名前忘れた)

セットアップをいったんキャンセルして、Explorer 上で問題のシェルスクリプトをどこかに移動。
で、もう一度セットアップを実行。

この繰り返しでOK。

移動したシェルスクリプトが気になるなら、インストール後に元の位置に戻して、
cygwin 上からパスを指定して実行してやる。

C:\cygwin\bin\ash.exe を起動。

$ /bin/rebaseall
を実行。

プロンプトが戻ってきたらOK。

cygwin 付属の cygwin1.dll を使わせれば良いだけだった。

copy /Y C:\cygwin\bin\cygwin1.dll <携帯動画変換君の cygwin1.dll のあるパス>

#cygz.dllも消したほうがいいのかな?

以前の
ロリポップ(lolipop)のアクセスログを自動ダウンロードする(Linux+wget+Perl)
を cygwin 環境で動かすことにした。

ログをダウンロードするパスと、文字コードを確認したら cygwin の cron に登録。
% crontab -e

で、cron を Windows のサービスとして起動。
% cygrunsrv --install cron --path /usr/sbin/cron --args -D


cron 起動は
cygrunsrv --start cron
でも、Windows の「管理」-「サービス」で起動させても同じことなので好きなほうで。

終わり。

Powered by Movable Type 4.1