2007年12月24日月曜日

robocopyで同期を取る

robocopyという、vistaから標準搭載、それより前のwindowsはツールキットの入手で使用可能なコピーツールのお話。

フォルダの同期を取るのに非常に重宝すると云うことだったので、納品システムとして使ってみることにした。

予定シナリオは
ファイルサーバ→ローカルPC→外付けHDD
の段階を踏んで、納品データをファイルサーバからサルベージ、ローカルPCに落とし込んで、外付けHDDに保存し、これを納品。

以下使用バッチファイルをそのまま。

--------------------------------

IF NOT EXIST \\192.168.1.XXX\server_directory GOTO firstEND
robocopy \\192.168.1.XXX\server_directory E:\LOCAL\NOUHIN /e /purge /R:2 /W:1 /Z >> E:\LOCAL\%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%transfer.log
:firstEND
IF NOT EXIST F:\ GOTO secondEND
robocopy E:\LOCAL\NOUHIN F:\NOUHIN /e /purge /R:2 /W:1 /Z >> F:\%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%external_transfer.log
:secondEND

--------------------------------
1行目「IF NOT EXIST ~ GOTOは、サーバの接続状況を調べるため。サーバに接続されていなかったらgoto以下の所に飛びます。
2行目がrobocopy。コピー元 コピー先 オプション リダイレクトでログを取ってます。
3行目はgoto文の終了場所。
4行目は1行目と同じgoto文。外付けハードディスクFの確認。
5行目は2行目と同じ。
6行目で終了。

参考サイトで上げた所に書いてあった「バッチファイル(コマンドラインで)今日の日付フォルダ(ファイル)を作る方法」覚え書き

Tips2 ファイルを整理する際に重宝する
日付ごとにフォルダやファイルを作る方法

 本連載のテーマは、基本的には「データの同期による冗長化」だが、場合によっては日付ごとにフォルダを作ってファイルを整理する必要が生じるかもしれない。こうした方法でデータをコピーしておけば、過去のファイルに簡単にさかのぼれるからだ。

 バッチファイルで日付の情報を利用するには、その日の日付を取得する手段が必要になる。Windowsでは環境変数「DATE」で日付を、環境変数「TIME」で時刻をセットするので、それぞれ「%DATE%」「%TIME%」と記述することで呼び出せる。

 ただし環境変数DATEは既定値の表示形式が「yyyy/mm/dd」形式になっているので、例えば「MD %DATE%」として日付と同名のフォルダを作ろうとすると、「/」はフォルダ名に使用できないため、エラーになってしまう。また、 Windows2000では、日付の左側にスペースを挟んで曜日の表記が加わるので、さらに話が難しくなる。

 そこで、環境変数の中から任意の位置の文字を抽出する機能を併用して、「yyyy/mm/dd」形式を「yyyy-mm-dd」形式に変換して利用する方法を説明しよう。WindowsXP用の記述とWindows2000用の記述は、それぞれ次のとおりだ。WindowsXPと Windows2000で方法が異なるのは、Windows2000では曜日の表示が加わって「火 2006/1/17」という表記になるからだ。

・WindowsXPの場合
%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%

・Windows2000の場合
%DATE:~2,4%-%DATE:~7,2%-%DATE:~10,2%

 この記述方法について少し説明しておこう。「%DATE:~」に続いて「<開始位置>,<文字数>%」と記述することで、指定した文字列を抜き出している。つまり「%DATE:~0,4%」は、日付から0番目から4文字の文字列を抜き出している。なお、先頭の文字に対応する開始位置指定が「1」ではなく「0」になる点に注意してほしい。

 区切り文字として使用する「-」や、ファイル名に使用するそのほかの文字、拡張子などについては、そのまま記述すればよい。

 こうした記述を行えば、日付、あるいは時刻を動的に変化させながらフォルダやファイルを作成できる。例えば、日付と同名のフォルダを「J:\」以下に作成して、「C:\Test」の内容をコピーしたい場合は、バッチファイルには次のように記述する。

MD J:\%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%
ROBOCOPY "C:\Test" "J:\%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%" /S /V /MIR 

 一方、時刻に対応する環境変数TIMEは、「hh:mm:ss.ss」という形式でコンマ秒の単位まで表示する。こちらはフォルダやファイルの名前に使用できない文字を含んでいないので、そのまま利用できる。コンマ秒単位までは必要ないという場合は、先と同様の手法で先頭から8文字だけ切り出せばよい。記述方法は「%TIME:~0,8%」となる。こちらはWindows2000/XPともに共通だ。


リダイレクトしたログファイルはかなり巨大になるけれども、何があったか把握できるので便利。
使用オプションは

--------------------------------
/e 全てのサブフォルダを含む
/purge 送り側で削除されたファイル/フォルダは、受け側でも削除する
/R:2 再試行回数。
/W:1 待ち時間(秒)
/Z 途中で止めても再開出来るようにしてくれる

--------------------------------

再試行回数制御(/R:n)←nは数字)は、指定しておかないと非道い目に遭う。
同じく、再試行待ち時間(/W:n)も。

参考サイトは
http://www.atmarkit.co.jp/fwin2k/win2ktips/877robomir/robomir.html
http://www.rimesene.co.jp/mesene/tips/contents/zd063.htm
http://www.microsoft.com/japan/technet/windowsserver/2008/library/d4c6e8e9-fcb3-4a4a-9d04-2d8c367b6354.mspx?mfr=true
http://mediawithms.spaces.live.com/blog/cns!BE8B403EF3C6D5A6!167.entry
http://www.windows-world.jp/special/-/60009.html

2007年12月19日水曜日

差し入れ

デスマーチを繰り広げる職場にいれば、上司や同僚としては差し入れの一つでも持っていってやろうかと思うのが人情。
別にこれは義務ではないし(そもそも労働対価としての給与は払われている訳だし)、差し入れなくても全く以て問題のない、謂わば無償の奉仕である。
といっても全セクションで50人を超えると、差し入れ代も馬鹿にならない。
一回の差し入れで5千円出すと、終局は連日になるので考えたくもない額になるから大変。
下手をすると誰よりも給与が低い、なんてことになりかねない。

そんなアガペーにも等しい行為にケチをつける人がいる。
やれ油物が多いだ、とか、お菓子ばかりだ、とか、またマクドか、とか。
挙げ句の果てには「餌付けされているようだ」と云う人もいて、僕は唖然とした。

そこまで云うのならば、じゃあ手をつけるなよ、と。
そんなことを云われるために差し入れをしているんじゃあない。
コンビニまで目と鼻の先なのだから、気に入らないなら自分でいけばいい。
そもそも一人のために買ってきているんじゃあない。

そう云うと、机に縛り付けてるのは誰だ、作業に見合った額を貰ってない、など、論点のずれた答えが返ってきて、更にげんなりした(そもそも仕事しないでスケジュール食い潰したのは誰だよ・・・)。

やれやれ。

2007年11月30日金曜日

家で飼うなら猫で良い。

Windows vistaはライオンだから。
動物園なら猛獣もいいが
家で飼うなら猫でいい。

2007年10月31日水曜日

perfume、capsule、中田ヤスタカ

テクノポップ(パンクになりきれない感が大好きな)"中田ヤスタカ"がプロデュースしているパフュームというグループ、巷で大人気だそうで。
さっぱり知らなかった僕としては、どんなものか気になって早速調べたのだけれども、同氏がプロデュースする別ユニット「capsule」の方がクリエイションとしての完成度が高い(もしくはこちらの方が好みだ)。
アイドルグループ?だから「それっぽさ」とか「外連味」を考えたのだろうか。
何が違うのだろう。
・・・今、ふと気がついた。
歌が下手なんだ!
歌が下手なんだ!
歌が下手なんだ!
歌が下手なんだ!
歌が下手なんだ!
歌が下手なんだ!
歌が下手なんだ!
絶望的に歌が下手なんだ!!!!

・・・エンタテインメントだから、そんなものだよね・・・。

2007年10月28日日曜日

ウイルス感染時のセキュリティ カウンセリングシート

知り合いの会社(PCって何ですか?という人たちが「必要だから」という理由で必死にPCを扱って仕事をしているような会社)がウイルスにやられたらしく、その相談を受けたときに作ったセキュリティ インシデント用カウンセリングシート。
結構抜け掛けがあったり、平易な文章になっていなかったりと扱いづらいものになっているけれども、たたき台にして使うにはいいかな、と思い、とりあえず書いておくことにしました。

以下
------------------------------

以下カウンセリングシート
------------------------------------------------------------

概略についてお訊ね致します
------------------------------
会社内PC総台数

PC仕様(購入区分
CPU
メインメモリ(RAM)
OS(メジャーバージョンも御願い致します)

インストールしてある主なソフトウェア
------------------------------

PCの管理体制についてお訊ね致します
------------------------------
PCに関しての管理権限の所在

上記管理権限を持つ者(以下"管理者")の数

管理者が把握している範囲(出来るだけ詳細に御願い致します)
(例:エンドユーザ用PC(クライアントPC)、プロキシサーバ、フィルタリングサーバの全権を持っているが、ゲートウェイサーバには制限された操作しかできない(業者が絡んでいる)など)

外部にも管理者がいる(yes/no)
及びその権限内容

管理者は、定期的に保守点検(OSのセキュリティアップデート含む)を行っている


------------------------------

セキュリティ管理についてお訊ね致します
PC毎に違う場合、個別に分けてください。設置場所を併記してください
------------------------------
制限ユーザで使用している(yes/no)

制限用にソフトウェアを導入している(yes/no)
導入されている場合、そのソフト名とバージョン

ユーザは独自にソフトウェアをインストール出来る(yes/no)

ユーザは自由に外部ストレージを使用することが出来る(yes/no)

使用するユーザは限定されたユーザである(yes/no)

PCにパスワードがかかっていない、もしくはパスワードの定期的な変更がなされていない(yes/no)

職員に向けて定期的なコンピュータリテラシーの向上を図っている(yes/no)
及びその内容

クライアントPCにもフィルタリングソフトが入っている(yes/no)
入っている場合、その仕様と仕組みを御願い致します。

クライアントPC同士の共有機能が存在する(制限されていない)(yes/no)


------------------------------

ネットワークについてお訊ね致します
------------------------------
外部回線種別(例:業務用専用線(100M))

ネットワーク図(最外部からエンドユーザまで御願い致します。設置場所も御願い致します。)


------------------------------

検疫機能についてお訊ね致します。
------------------------------
ゲートウェイサーバなどでのウェブフィルタリングの有無、及び使用されているソフトウェア名、バージョン

上記フィルタリングソフトウェアの更新頻度

上記フィルタリングソフトウェアのログチェック体制、頻度


ユーザへのインターネットアクセスパーミッション(どこまで許可されているのか、フィルタリングの仕組みも)

アンチウイルスソフトウェアが全てのPCに入っている(yes/no)
noならば、どのPCに入っていないか

エンドユーザ用のアンチウイルスソフトウェア名、及びバージョン

アンチウイルスソフトウェアの更新頻度

アンチウイルスソフトウェアのログチェック体制、頻度


------------------------------

今回のセキュリティインシデントについてお訊ね致します。
------------------------------
現在問題となっている事項を詳しく御願い致します。
含めていただきたいのは以下の点です。

気付かれたきっかけは何ですか?

感染源は何ですか(外部メディアと聞いています。どういうものなのでしょうか?)?
また、感染源と断定されたその理由をお教え下さい

ウイルスの種別は何ですか?
https://isec.ipa.go.jp/zha-virusdb/web/Top.php
上記での登録名でお答えいただければ有り難いです。

どういった対処をされましたか?

結果どうなりましたか?

ウイルススキャンに時間がかかるそうですが、その原因は標準の動作ですか?それとも今回のインシデントからでしょうか?

インターネットへの接続が遅いそうですが、
http://www.musen-lan.com/speed/
での速度はどの位でしょうか

------------------------------

20台以上のPCを使っていながら、未だに管理者がいない環境でPCを使っている場所があることに驚き。
そんなものなのかなあ。

2007年10月27日土曜日

24フレの簡単な電卓。

簡単な電卓。
秒とフレームを入れると、フレームの総計を返す。

while 1:
とするとループするらしいことを学びました。

inputはなにやら使ってはいけないらしく(凄いエラーを吐くとマニュアルに書いてあった)、
eval(raw_input()で代用するとか。

pythonからプログラミングを学ぼうと思ったのは間違いか知らん。
どうも文書が少ない・・・。

------------------------------

totalt = 0
j = 1
while 1:
secc = eval(raw_input("SEC? "))
if secc < 0:
secc = 0

frames = eval(raw_input("FRAME? "))
if frames < 0:
frames = 0

totalt = secc*24+frames

print "RESULT-No.%s RESULT= %s" % (j, totalt)

totalt = 0
secc = 0
frames = 0
j = j+1

悪意に満ちた賢者よりも、善意に満ちた愚者を恐れよ。

スラッシュドットジャパン、http://slashdot.jp/articles/07/10/26/0226214.shtml
での
okky (2487)の発言。
>悪意ある人間には腹も立つけど、ここまでの馬鹿にはもう憐みしか感じない。


悪意に満ちた賢者よりも、善意に満ちた愚者を恐れよ。
前者が何をしでかすかは予測できるが、後者は予測できぬ。
--
fjの教祖様


正しすぎる。

http://www.dd.iij4u.or.jp/~okuyamak/