2013年11月5日火曜日
2013年10月30日水曜日
作業10
01 9:00-19:40 2:00 アーカイブサーバ構築
02 9:00-17:40
03 9:00-19:40 2:00 会計サーバ構築
04 9:00-12:00 午後半休
07 9:00-19:00 1:20 アーカイブサーバ構築(ドキュメント)
08 9:00-18:40 1:00 ICAライセンスサポートサーバDISK枯渇対応
09 9:00-18:40 1:00 NETCA文字化け対応方法調査
10 9:00-18:40 1:00 Acronis導入ドキュメント
11 9:00-17:40 Acronisエージェント導入
15 9:00-18:40 1:00 ECサイト構築
16 9:00-18:40 1:00 ECサイト構築
17 6:00-20:40 6:00 Acronisエージェント導入
18 9:00-20:40 3:00 ECサイト構築
21 9:00-18:55 1:15 ECサイトのAcronis実施検証
22 9:00-19:40 2:00 Acronis導入(電話帳と複合機)
23 9:00-18:40 1:00 Acronisユーザガイドフォロー
24 9:00-20:00 2:20 DNSCmd一括バッチの作成
25 9:00-21:00 3:20 サーバプロテクト運用レビュ準備とレビュー後フォロー
28 9:00-20:00 2:20 ECサイト構築
29 9:00-22:00 4:20 シンクライアントサーバ構築
30 9:00-17:40 シンクライアントサーバ構築
31 9:00-17:40 Acronis導入ドキュメント
02 9:00-17:40
03 9:00-19:40 2:00 会計サーバ構築
04 9:00-12:00 午後半休
07 9:00-19:00 1:20 アーカイブサーバ構築(ドキュメント)
08 9:00-18:40 1:00 ICAライセンスサポートサーバDISK枯渇対応
09 9:00-18:40 1:00 NETCA文字化け対応方法調査
10 9:00-18:40 1:00 Acronis導入ドキュメント
11 9:00-17:40 Acronisエージェント導入
15 9:00-18:40 1:00 ECサイト構築
16 9:00-18:40 1:00 ECサイト構築
17 6:00-20:40 6:00 Acronisエージェント導入
18 9:00-20:40 3:00 ECサイト構築
21 9:00-18:55 1:15 ECサイトのAcronis実施検証
22 9:00-19:40 2:00 Acronis導入(電話帳と複合機)
23 9:00-18:40 1:00 Acronisユーザガイドフォロー
24 9:00-20:00 2:20 DNSCmd一括バッチの作成
25 9:00-21:00 3:20 サーバプロテクト運用レビュ準備とレビュー後フォロー
28 9:00-20:00 2:20 ECサイト構築
29 9:00-22:00 4:20 シンクライアントサーバ構築
30 9:00-17:40 シンクライアントサーバ構築
31 9:00-17:40 Acronis導入ドキュメント
2013年10月25日金曜日
VBS2
'##############################################################
'# DSN レコードの更新処理
'# 機能:
'# 入力ファイルの情報からDSNレコードへ追加
'# 入力ファイルの情報からDSNレコードから削除
'# 入力パラメータのフォーマットチェック
'#
'# 実行方法:コマンドコンソールから実施する
'# cscript //nologo CS_DNSUpdate.vbs > DNSUpdate.log &
'# cscript //nologo CS_DNSUpdate.vbs CHK > DNSUpdate.log &
'#
'#
'# 実行時の注意
'# 1.オプション:CHKを付けてエラーチェックのみを行う。
'# 2.エラーがある場合はエラーを修正し、CHKオプションでログにエラーが無くなるまで実行する
'# 3.エラーがない状態で、CHKオプションを外して本実行する
'#
'# 入力パラメータファイル:
'# 当スクリプトと同場所 CS_DNSUpdate.ini
'# フォーマット:
'# 項目左詰,半角スペースのセパレータ
'# 項目:
'# システム名、DNSアドレス、ドメイン名、ホスト名、IPアドレス、災対IPアドレス
'#
'# システムの単位で登録する
'# 行をコメントにする場合は、先頭#文字
'# 全ての項目は、入力必須、ブランク、空白は不可でこの事象に該当する場合部分エラーとなる
'# CHKオプション付きで実行してフォーマットをチェックしてから、CHKオプションを外して実行することを推奨します。
'#
'# ログファイル:
'# 当スクリプトと同場所 DNSUpdate.log
'#
'# UPDATE 2013/10/24
'#
'##############################################################
'Option Explicit
' グローバル定義
Dim sCheck 'パラメータ1 1:チェック
Dim iStepNo : iStepNo = 1 'ステップ番号
Dim msg : msg = "" 'メッセージ
Dim sComputer
Dim URL
'****************************************************************
' 関数
'****************************************************************
'' メッセージレベル
Const MSGLEVEL_I = " I " ' INFOMATION
Const MSGLEVEL_W = " W " ' WARNING
Const MSGLEVEL_E = " E " ' ERROR_
Const MSGLEVEL_S = " S " ' SEVERE_ERROR
'' コマンド@@
Const DNSCMD = "xdnscmd" ' DNS CMD COMMAND
'' OPTION
Const CHK = "CHK" ' RUN OPTION
Const ExE = "EXE" ' RUN OPTION
Const INI_FILE = "CS_DNSUpdate.ini" ' Fie
Const LOG_FILE = "CS_DNSUpdate.log" ' Fie
'****************************************************************
sCheck = Main_Init()
Call Main(sCheck)
WScript.Quit (0)
'**************************************************************
' メイン処理
'**************************************************************
Sub Main(flg)
Dim infile
Dim outfile
infile = Left(WScript.ScriptFullName,InStrRev(WScript.ScriptFullName,"\")) & INI_FILE
outfile = Left(WScript.ScriptFullName,InStrRev(WScript.ScriptFullName,"\")) & LOG_FILE
WScript.Echo now & "** DNS UPDATE START ** "
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Echo now & "** DNS UPDATE Main ** flg=" & flg
DnsRecordAddMain infile,flg
DnsRecordDelMain infile,flg
WScript.Echo now & "** DNS UPDATE STOP ** "
End Sub
'************************************************************
' 関数: DnsRecordAddMain
' 用途: DSNレコード追加を行う
' 入力: パラメータ、処理フラグ
' 戻値:
'************************************************************
Function DnsRecordAddMain(infile,flg)
Dim objFSO ' ファイルシステムオブジェクト
Dim objTextStream ' テキストストリームオブジェクト
Dim strText ' テキスト内容
Dim sSysName
Dim sSysNameOld
Dim sRc
Dim iCnt
Dim iCntErr
iCnt = 0
iCntErr = 0
sSysName = ""
sSysNameOld = ""
On Error Resume Next
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFSO.OpenTextFile(infile, 1)
Do Until objTextStream.AtEndOfLine = True
strText = objTextStream.ReadLine
'コメント行の確認
IF Left(strText, 1) <> "#" THEN
'システム名の表示
aryStrings = Split(strText, " ")
sSysName = aryStrings(0)
IF sSysName <> sSysNameOld THEN
WScript.Echo "##### " & sSysName & "の災対レコードを追加します。#####"
END IF
sSysNameOld = sSysName
cmd = BildDnsAddCmd(strText)
IF cmd <> 1 THEN
'1行目(生成コマンドの表示)
WScript.Echo now & " " & cmd
IF flg <> CHK THEN
'2行目(コマンドの実行)
sRc= WshShell.run (cmd,1,true)
'3行目(実行結果の表示)
WScript.Echo now & " ** " & EXE & sRc & " ** "
END IF
Else
iCntErr = iCntErr + 1
END IF
iCnt = iCnt + 1
END IF
Loop
WScript.Echo now & " " & "** DnsAdd ** Mode=" & flg & " iCnt=" & iCnt & " iCnErr=" & iCntErr
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
End Function
'************************************************************
' 関数: dnsへのレコード追加コマンドを生成する
' 説明: 入力レコードからコマンドを組み立てて返す
' 入力: 入力レコード(スペース区切り)
' 戻値: コマンド
'************************************************************
Function BildDnsAddCmd(strText)
Dim sBildCmd
Dim sSysName
Dim sDnsIp
Dim sDomain
Dim sHostname
Dim sIp
Dim sIpEmg
sBildCmd =""
aryStrings = Split(strText, " ")
sSysName = aryStrings(0)
sDnsIp = aryStrings(1)
sDomain = aryStrings(2)
sHostname = aryStrings(3)
sIp = aryStrings(4)
sIpEmg = aryStrings(5)
'入力チェック --------------------------------------------------
errflg = 0
if sSysName = "" then
WScript.Echo now & " " & " ** INPUT FILE SYSNAME SPACE ERROR **"
errflg = 1
end if
if sDnsIp = "" then
WScript.Echo now & " " & " ** INPUT FILE DNSIP SPACE ERROR **"
errflg = 1
end if
if sDomain = "" then
WScript.Echo now & " " & " ** INPUT FILE DOMAIN SPACE ERROR **"
errflg = 1
end if
if sHostname = "" then
WScript.Echo now & " " & " ** INPUT FILE HOSTNAME SPACE ERROR **"
errflg = 1
end if
if sIp = "" then
WScript.Echo now & " " & " ** INPUT FILE IP SPACE ERROR **"
errflg = 1
end if
if sIpEmg = "" then
WScript.Echo now & " " & " ** INPUT FILE IPEMG SPACE ERROR **"
errflg = 1
end if
if errflg = 1 then
BildDnsDelCmd = errflg
return
end if
'入力チェック --------------------------------------------------
'コマンドの組み立て
sBildCmd = DNSCMD & " " & sDnsIp & " /recordadd " & sDomain & " " & sHostname & " A " & sIpEmg
'WScript.Echo now & " " & sBildCmd
BildDnsAddCmd = sBildCmd
End Function
'************************************************************
' 関数: DnsRecorddelMain
' 用途: DSNレコード削除を行う
' 入力: パラメータ、処理フラグ
' 戻値:
'************************************************************
Function DnsRecordDelMain(infile,flg)
Dim objFSO ' ファイルシステムオブジェクト
Dim objTextStream ' テキストストリームオブジェクト
Dim strText ' テキスト内容
Dim sSysname
Dim sSysNameOld
Dim sRc
Dim iCnt
Dim iCntErr
iCnt = 0
iCntErr = 0
sSysName = ""
sSysNameOld = ""
On Error Resume Next
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFSO.OpenTextFile(infile, 1)
Do Until objTextStream.AtEndOfLine = True
strText = objTextStream.ReadLine
'コメント行(先頭が#)の確認
IF Left(strText, 1) <> "#" THEN
'システム名の表示
aryStrings = Split(strText, " ")
sSysName = aryStrings(0)
IF sSysName <> sSysNameOld THEN
WScript.Echo "##### " & sSysName & "の災対レコードを削除します。#####"
END IF
sSysNameOld = sSysName
cmd = BildDnsDelCmd(strText)
IF cmd <> 1 THEN
'1行目(生成コマンドの表示)
WScript.Echo now & " " & cmd
IF flg <> CHK THEN
'2行目(コマンドの実行)
sRc = WshShell.run (cmd,1,true)
'3行目(実行結果の表示)
WScript.Echo now & " ** " & EXE & sRc & " ** "
END IF
Else
iCntErr = iCntErr + 1
END IF
iCnt = iCnt + 1
END IF
Loop
WScript.Echo now & " " & "** DnsDel ** Mode=" & flg & " iCnt=" & iCnt & " iCnErr=" & iCntErr
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
End Function
'************************************************************
' 関数: dnsへのレコード削除コマンドを生成する
' 説明: 入力レコードからコマンドを組み立てて返す
' 入力: 入力レコード(スペース区切り)
' 戻値: コマンド
'************************************************************
Function BildDnsDelCmd(strText)
Dim sBildCmd
Dim sSysName
Dim sDnsIp
Dim sDomain
Dim sHostname
Dim sIp
Dim sIpEmg
sBildCmd =""
aryStrings = Split(strText, " ")
sSysName = aryStrings(0)
sDnsIp = aryStrings(1)
sDomain = aryStrings(2)
sHostname = aryStrings(3)
sIp = aryStrings(4)
sIpEmg = aryStrings(5)
'入力チェック --------------------------------------------------
errflg = 0
if sSysName = "" then
WScript.Echo now & " " & " ** INPUT FILE SYSNAME SPACE ERROR **"
errflg = 1
end if
if sDnsIp = "" then
WScript.Echo now & " " & " ** INPUT FILE DNSIP SPACE ERROR **"
errflg = 1
end if
if sDomain = "" then
WScript.Echo now & " " & " ** INPUT FILE DOMAIN SPACE ERROR **"
errflg = 1
end if
if sHostname = "" then
WScript.Echo now & " " & " ** INPUT FILE HOSTNAME SPACE ERROR **"
errflg = 1
end if
if sIp = "" then
WScript.Echo now & " " & " ** INPUT FILE IP SPACE ERROR **"
errflg = 1
end if
if sIpEmg = "" then
WScript.Echo now & " " & " ** INPUT FILE IPEMG SPACE ERROR **"
errflg = 1
end if
if errflg = 1 then
BildDnsDelCmd = errflg
'return
end if
'入力チェック --------------------------------------------------
'コマンドの組み立て
sBildCmd = DNSCMD & " " & sDnsIp & " /recorddelete " & sDomain & " " & sHostname & " A " & sIp
'WScript.Echo now & " " & sBildCmd
BildDnsDelCmd = sBildCmd
End Function
'**************************************************************
' 1.1 初期処理
'**************************************************************
Function Main_Init()
' VBS起動するWSHコマンドがcScriptでない場合は
' エラーコード99で終了する
IF Not(IsCscript()) THEN
WScript.Quit (99)
END IF
msg="** Note:CScript ONLY RUN **"
sComputer = SetLogHeader(msg)
Main_Init = GetParam()
End Function
'-----------------------------------------------
' 1.1.1 パラメータ取得処理
'-----------------------------------------------
Function GetParam()
Dim i
Dim objParm
sCheck = EXE ' モード
Set objParm=WScript.Arguments
For i=1 To objParm.Count
WScript.echo now & MSGLEVEL_I & "** (" & i & ") " & objParm.Item(i - 1)
IF i = 1 THEN
sCheck = objParm.Item(i - 1)
END IF
Next
GetParam = sCheck
End Function
'****************************************************************
' 関数: IsCscript
' 用途: 自VBSを起動したWSH コマンドがcScriptを返信
' 入力: 無し
' 戻値: cScriptの時true wScriptの時false
'****************************************************************
Function IsCscript()
' WSH起動コマンド
Const WHS_COMMAND_WSCRIPT = "wscript.exe"
Const WHS_COMMAND_CSCRIPT = "cscript.exe"
IsCscript = true
IF LCase( Right(WScript.FullName, len(WHS_COMMAND_WSCRIPT)) ) = WHS_COMMAND_WSCRIPT THEN
IsCscript = false
END IF
End Function
'****************************************************************
' 関数: SetLogHeader
' 用途: ログヘッダーページをフォーマット
' 入力: ヘッダーのコメントメッセージ
' 戻値: コンピュータ名前
'****************************************************************
Function SetLogHeader(msg)
Dim objNetWork ' ネットワークオブジェクト
Dim objParm ' コマンドラインパラメータ
Dim i ' コマンドライン引数の個数
Dim chr
iStepNo = 0
WScript.Echo now & " ***********************************************************"
WScript.Echo now & EditTitleLine(" ** Script : " & Wscript.ScriptName)
WScript.Echo now & EditTitleLine(" ** " & Wscript.ScriptFullName)
WScript.Echo now & " ** ----------------------------------------------------- **"
WScript.Echo now & EditTitleLine(" ** WSH : " & Wscript.Name)
WScript.Echo now & EditTitleLine(" ** " & Wscript.FullName)
WScript.Echo now & EditTitleLine(" ** " & Wscript.Path)
WScript.Echo now & " ** ----------------------------------------------------- **"
Set objParm = WScript.Arguments
WScript.Echo now & EditTitleLine(" ** Command param count " & objParm.Count)
For i=1 To objParm.Count
WScript.echo now & EditTitleLine(" ** (" & i & ") " & objParm.Item(i - 1))
Next
WScript.Echo now & " ** ----------------------------------------------------- **"
' ネットワークオブジェクトの作成
Set objNetWork = WScript.CreateObject("WScript.Network")
' ユーザ名
WScript.echo now & EditTitleLine(" ** UserName : " & objNetWork.UserName)
' ドメイン名
WScript.echo now & EditTitleLine(" ** UserDomain : " & objNetWork.UserDomain)
' コンピュータ名
WScript.echo now & EditTitleLine(" ** ComputerName : " & GetComputer())
WScript.Echo now & " ***********************************************************"
WScript.Echo now & EditTitleLine(" ** " & msg)
WScript.Echo now & " ***********************************************************"
SetLogHeader = GetComputer()
Set objNetWork = Nothing
End Function
'****************************************************************
' 関数: EditTitleLine
' 用途: 文字列編集、所定のカラム位置に**の文字を挿入する
' 入力: 変種前文字列
' 戻値: 編集後文字列
'****************************************************************
Function EditTitleLine(chr)
Dim sEditTitleLine
Dim iMAXCOLS
iMAXCOLS = 60
sEditTitleLine = left(chr,len(chr)) & Space(iMAXCOLS-len(" **")-len(chr)) & " **"
EditTitleLine = sEditTitleLine
End Function
'****************************************************************
' 関数: GetComputer
' 用途: コンピュータ名を取得する
' 入力: 無し
' 戻値: コンピュータ名
'****************************************************************
Function GetComputer()
Dim objNetWork ' ネットワークオブジェクト
' ネットワークオブジェクトの作成
Set objNetWork = WScript.CreateObject("WScript.Network")
' コンピュータ名
GetComputer = objNetWork.ComputerName
Set objNetWork = Nothing
End Function
2013年10月7日月曜日
2013年9月30日月曜日
2013年9月28日土曜日
比較 ソース整形表示
http://weblog.atl-r.net/blog/syntaxhighlighter/
http://usagisaigon.blogspot.jp/2013/08/blogger-google-code-prettify.html
http://www.kuribo.info/2013/06/blogger-responsive-templates.html
http://usagisaigon.blogspot.jp/2013/08/blogger-google-code-prettify.html
http://www.kuribo.info/2013/06/blogger-responsive-templates.html
Server Protect 異常確認と停止
TOPコマンドで、現在のリソース状況を表示してみる。
Cpu(s)が、99.7%で高いCPU負荷となっている、その大半がsplxmainのプロセスによる。
そのsplxmainのPIDは、9592である。
top - 17:59:46 up 119 days, 1:29, 1 user, load average: 1.02, 1.02, 1.00 Tasks: 193 total, 2 running, 191 sleeping, 0 stopped, 0 zombie Cpu(s): 99.7%us, 0.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 3925308k total, 3722028k used, 203280k free, 293460k buffers Swap: 4194296k total, 11240k used, 4183056k free, 2851780k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9592 root 20 0 15136 4008 1392 R 97.2 0.1 1041:35 splxmain 2550 root 20 0 149m 83m 2868 S 2.3 2.2 388:27.91 vsapiapp 25966 root 20 0 15092 1320 964 R 0.3 0.0 0:00.07 top 29280 root 20 0 13484 5640 3656 S 0.3 0.1 19:06.98 jpcsto
-------------------------------------------------------------------------
psfreeコマンドで、splxmainのプロセス構成を確認して、プロセスを一括削除する。
[root@XXa1mg27 ~]# pstree | grep splxmain |-crond---crond---sh---splxmain---splxmain [root@XXa1mg27 ~]# pstree -p| grep splxmain |-crond(2209)---crond(9588)---sh(9590)---splxmain(9592)---splxmain(9598) [root@XXa1mg27 ~]# kill -9 9592 9598
--------------------------------------------------------------------------
Server Protect を再起動する
<
--------------------------------------------------------------------------
[root@XXa1mg27 ~]# service splx restart
Shutting down ServerProtect for Linux:
Shutting down splxcore:
Shutting down vsapiapp [ OK ]
Unloading splx kernel module: [ OK ]
Shutting down entity: [ OK ]
ServerProtect for Linux core stopped normally.
[ OK ]
Shutting down splxhttpd:
Shutting down splxhttpd: [ OK ]
ServerProtect for Linux httpd stopped normally.
[ OK ]
ServerProtect for Linux stopped normally.
Starting ServerProtect for Linux:
Checking configuration file: [ OK ]
Starting splxcore:
Starting Entity: [ OK ]
Loading splx kernel module: [ OK ]
Starting vsapiapp: [ OK ]
ServerProtect for Linux core started.
[ OK ]
Starting splxhttpd:
Starting splxhttpd: [ OK ]
ServerProtect for Linux httpd started.
[ OK ]
ServerProtect for Linux started.
[root@XXa1mg27 ~]#
2013年9月26日木曜日
JP1/BASE プロセスの強制停止
[root@XX1od01 ~]# ps -ef | grep jp1 root 2046 1 0 11:34 ? 00:00:00 /opt/jp1base/bin/jbs_spmd -h XXp1od01 root 3087 2881 0 12:01 pts/0 00:00:00 grep jp1 [root@XX1od01 ~]# kill -9 2046 [root@XX1od01 ~]# ps -ef | grep jp1 root 3102 2881 0 12:02 pts/0 00:00:00 grep jp1 [root@XX1od01 ~]#
SCPコマンドを使ってサーバ間でファイルの受渡しをする
別なサーバのファイルを取込みたい時。
[root@XXp1oa01 init.d]# scp -p XXp2oa01:/etc/init.d/jp1_service_cluster . The authenticity of host 'XXp2oa01 (999.26.65.181)' can't be established. RSA key fingerprint is 46:55:47:04:47:4a:5f:ff:dc:c6:9f:1b:f3:ce:33:52. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'XXp2oa01,999.26.65.181' (RSA) to the list of known hosts. root@XXp2oa01's password: jp1_service_cluster 100% 1246 1.2KB/s 00:00 [root@XXp1oa01 init.d]# ll jp1_service_cluster -rwxr-xr-x. 1 root root 1246 9月 19 14:32 2013 jp1_service_cluster [root@XXp1oa01 init.d]#
2013年9月23日月曜日
2013年9月21日土曜日
Linux/CPU負荷 わざと負荷をかける
●CPU
[root@server01 ~] # chmod 755 cpubusy.pl [root@server01 ~] # ./cpubusy.pl &
#!/usr/bin/perl
# cpubusy.pl
$goal = 1000000;
while (1) {
$before = time();
for ($i = 0; $i < $goal; $i ++) {
$x = 0.000001;
$y = sin($x);
$y = $y + 0.00001;
}
$y += 0.01;
# print "One million sin: ", time() - $before, " seconds!\n";
}
Linux/メモリ負荷 わざと負荷をかける
#!/usr/bin/perl # membusy.pl
my @a; for (1..99999) { my $v ="hoge" x 9999 ; push @a,$v; sleep 0.5}
Z10Main/stdlib1.vbs
'stblib1.vbs
'****************************************************************
' 関数: GetFileAttribute
' 用途: ファイルの情報を取得
' 入力: ファイルパス
' 戻値: (作成、更新、サイズ、タイプ、属性)の連結文字列
'****************************************************************
Function GetFileAttribute(file)
Dim strGetFileAttribute
strGetFileAttribute = ""
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.GetFile(file)
strGetFileAttribute = _
"作成:" & objFile.DateCreated & _
" 更新:" & objFile.DateLastModified & _
" サイズ:" & objFile.Size
'" タイプ:" & objFile.Type & _
'" 属性:" & objFile.Attributes
Set objFile = Nothing
Set objFso = Nothing
GetFileAttribute = strGetFileAttribute
End Function
'****************************************************************
' 関数: GetFileType
' 用途: ZIP検索文字列を含む文字列を返す
' 入力: 文字列
' 戻値: URLパス
'****************************************************************
Function GetFileType(str)
Dim strGetFileType
Dim regEx
Dim Matches
Dim Match
strGetFileType = ""
Set regEx = New RegExp
' 検索パターンを文字列で設定
regEx.Pattern = "http://(.+?).zip"
' 大文字小文字を区別しない ( この場合はどちらでも良い )
regEx.IgnoreCase = True
' 文字列全体を検索 False だと一件しか検索しない
regEx.Global = True
' 検索の実行
Set Matches = regEx.Execute(str)
For Each Match in Matches
' 検索結果の中の () 内の文字列を取得
IF (strGetFileType = "") THEN
strGetFileType = Match.SubMatches(0)
strGetFileType = "http://" & strGetFileType & ".zip"
'WScript.Echo now & "** Match=" & strGetFileType
'WScript.Echo now & "** Match=" & Match.SubMatches(0)
exit For
End IF
Next
GetFileType = strGetFileType
End Function
'****************************************************************
' 関数: GetUrlFile
' 用途: URL からファイル名を求める
' 入力: URL
' 戻値: URLのファイル部分
'****************************************************************
Function GetUrlFile(s)
Dim iPos,sGetUrlFile
sGetUrlFile = ""
iPos = instrRev(s,"/",-1,1)
sGetUrlFile = mid(s,iPos+1)
GetUrlFile = sGetUrlFile
End function
'**************************************************************
' 関数: GetUrlFilename
' 用途: URLパス名からファイル名を求める
' 入力: URLパス
' 戻値: URLのファイル名
'**************************************************************
Function GetUrlFilename(URL)
Dim sPathName, sFileName, ipos
ipos = InStrRev(Trim(URL), "/")
sPathName = Left(URL, ipos)
sFileName = Mid(URL, ipos + 1)
GetUrlFilename = sFileName
End Function
'****************************************************************
' 関数: GetURI
' 用途: URLからURIを求める
' 入力: URL
' 戻値: URLのURI部分
'****************************************************************
Function GetURI(s)
Dim iPos,sURI
sURI = ""
iPos = instrRev(s,"/",-1,1)
sURI = mid(s,1,iPos)
GetURI = sURI
End function
'****************************************************************
' 関数: GetDriveFree
' 用途: ドライブの情報を表示 する
' 入力: ファイル
' 入力: ドライブの情報に表示するコメント
' 戻値: 空きサイズ
'****************************************************************
Function GetDriveFree(sPath,msg)
On Error Resume Next
Dim objFSO ' FileSystemObject
Dim objDrive ' ドライブ情報
Dim sDrive ' ドライブ名
Dim sType ' ドライブ種類の文字列
Dim sGetDriveFree
sGetDriveFree = ""
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
IF Err.Number = 0 THEN
sType = Array("Unknown", "Removable", "HDD", "Network", "CD-ROM", "RAM")
sDrive = objFSO.GetDriveName(sPath)
WScript.Echo vbtab & vbtab & vbtab & "[ドライブ情報] :" & msg & "ドライブ " & sDrive
IF objFSO.DriveExists(sDrive) THEN
Set objDrive = objFSO.GetDrive(sDrive)
If objDrive.IsReady = True Then
'WScript.Echo " ボリュームラベル:" & objDrive.VolumeName
'WScript.Echo " 種類 :" & sType(objDrive.DriveType)
'WScript.Echo " ファイルシステム:" & objDrive.FileSystem
WScript.Echo vbtab & vbtab & vbtab & "空領域 / 容量 :" & _
FormatNumber(objDrive.FreeSpace, 0) & " / " & _
FormatNumber(objDrive.TotalSize, 0) & vbcrlf
'WScript.Echo " フォルダ :" & objDrive.Path
'WScript.Echo " ルートフォルダ :" & objDrive.RootFolder
sGetDriveFree = objDrive.FreeSpace
ELSE
WScript.Echo now & " GetDriveFree 準備ができていません"
END IF
ELSE
WScript.Echo now & " GetDriveFree 存在しません。"
END IF
ELSE
WScript.Echo now & " GetDriveFree エラー:" & Err.Number & Err.Description
END IF
'objDrive.Close
Set objFSO = Nothing
Set objDrive = Nothing
GetDriveFree = sGetDriveFree
End Function
'****************************************************************
' 関数: IsCscript
' 用途: 自VBSを起動したWSH コマンドがcScriptを返信
' 入力: 無し
' 戻値: cScriptの時true wScriptの時false
'****************************************************************
Function IsCscript()
' WSH起動コマンド
Const WHS_COMMAND_WSCRIPT = "wscript.exe"
Const WHS_COMMAND_CSCRIPT = "cscript.exe"
IsCscript = true
IF LCase( Right(WScript.FullName, len(WHS_COMMAND_WSCRIPT)) ) = WHS_COMMAND_WSCRIPT THEN
IsCscript = false
END IF
End Function
'****************************************************************
' 関数: SetLogHeader
' 用途: ログヘッダーページをフォーマット
' 入力: ヘッダーのコメントメッセージ
' 戻値: コンピュータ名前
'****************************************************************
Function SetLogHeader(msg)
Dim objNetWork ' ネットワークオブジェクト
Dim objParm ' コマンドラインパラメータ
Dim i ' コマンドライン引数の個数
Dim chr
iStepNo = 0
WScript.Echo now & " ***********************************************************"
WScript.Echo now & EditTitleLine(" ** Script : " & Wscript.ScriptName)
WScript.Echo now & EditTitleLine(" ** " & Wscript.ScriptFullName)
WScript.Echo now & " ** ----------------------------------------------------- **"
WScript.Echo now & EditTitleLine(" ** WSH : " & Wscript.Name)
WScript.Echo now & EditTitleLine(" ** " & Wscript.FullName)
WScript.Echo now & EditTitleLine(" ** " & Wscript.Path)
WScript.Echo now & " ** ----------------------------------------------------- **"
Set objParm = WScript.Arguments
WScript.Echo now & EditTitleLine(" ** Command param count " & objParm.Count)
For i=1 To objParm.Count
WScript.echo now & EditTitleLine(" ** (" & i & ") " & objParm.Item(i - 1))
Next
WScript.Echo now & " ** ----------------------------------------------------- **"
' ネットワークオブジェクトの作成
Set objNetWork = WScript.CreateObject("WScript.Network")
' ユーザ名
WScript.echo now & EditTitleLine(" ** UserName : " & objNetWork.UserName)
' ドメイン名
WScript.echo now & EditTitleLine(" ** UserDomain : " & objNetWork.UserDomain)
' コンピュータ名
WScript.echo now & EditTitleLine(" ** ComputerName : " & GetComputer())
WScript.Echo now & " ***********************************************************"
WScript.Echo now & EditTitleLine(" ** " & msg)
WScript.Echo now & " ***********************************************************"
SetLogHeader = GetComputer()
Set objNetWork = Nothing
End Function
'****************************************************************
' 関数: EditTitleLine
' 用途: 文字列編集、所定のカラム位置に**の文字を挿入する
' 入力: 変種前文字列
' 戻値: 編集後文字列
'****************************************************************
Function EditTitleLine(chr)
Dim sEditTitleLine
Dim iMAXCOLS
iMAXCOLS = 60
sEditTitleLine = left(chr,len(chr)) & Space(iMAXCOLS-len(" **")-len(chr)) & " **"
EditTitleLine = sEditTitleLine
End Function
'****************************************************************
' 関数: SetLogStepStart
' 用途: ログステップ開始のメッセージ表示
' 入力: ステップ番号
' 入力: 連結文字列
' 戻値: 無し
'****************************************************************
Function SetLogStepStart(iStepNo,msg)
WScript.Echo now & " **_STEP(" & iStepNo & ")" & " **_START_** " & msg
End Function
'****************************************************************
' 関数: SetLogStepEnd
' 用途: ログステップ終了
' 入力: ステップ番号
' 入力: 連結文字列
' 戻値: 無し
'****************************************************************
Function SetLogStepEnd(iStepNo,msg)
WScript.Echo now & " **_STEP(" & iStepNo & ")" & " **__END__** " & msg & vbCrLf
End Function
Z10Main/stblib2.vbs
'stblib2.vbs
'-----------------------------------------------
' 1.3.2 (E-1) サブ tmcm:ファイル候補リスト作成(メイン)
'-----------------------------------------------
Sub TmcmProcLst(curTmcmFile,patternchr)
Dim fsoObj
Dim objTextSrc
Set fsoObj = CreateObject("Scripting.FileSystemObject")
' 候補リストがあれば削除する
If fsoObj.FileExists(LIST_FILE_TM) Then
Call fsoObj.DeleteFile(LIST_FILE_TM)
End If
' 候補リスト準備
Set objTextSrc = fsoObj.OpenTextFile(LIST_FILE_TM, 8, True, 0)
' 候補リストを作成する
'
' フォルダがであるかをチェック
If fsoObj.FolderExists(ZIP_BASEPATH) Then
'リスト作成メイン実行
Call CreTmcmFList(fsoObj,ZIP_BASEPATH,objTextSrc,curTmcmFile,patternchr)
Else
WScript.Echo now & MSGLEVEL_S & _
"TmcmProcLst デイレクトリなしのためリスト処理を停止" & _
vbCrLf & ZIP_BASEPATH
WScript.Quit (10)
End If
' ログファイルクローズ
objTextSrc.Close
' オブジェクト開放
Set objTextSrc = Nothing
Set fsoObj = Nothing
End Sub
'-----------------------------------------------
' 1.3.3 (E-1-1)サブ tmcmファイル候補リスト作成(サブ)
'-----------------------------------------------
Sub CreTmcmFList(fsoObj,inFolderName,objText,curTmcmFile,patternchr)
Dim fsoFolder
Dim fsoSubFolder
Dim fsoFile
Dim itmcm
WScript.Echo now & MSGLEVEL_I & "確認フォルダ :" & inFolderName
WScript.Echo now & MSGLEVEL_I & "除外ファイル :" & curTmcmFile
WScript.Echo now & MSGLEVEL_I & "削除候補リスト :" & LIST_FILE_TM
itmcm = 0
' フォルダオブジェクト取得
Set fsoFolder = fsoObj.GetFolder(inFolderName)
For Each fsoFile In fsoFolder.Files
' 削除候補ファイルリストを出力
IF not trim(fsoFile.name) = curTmcmFile THEN
'以下のファイル名で始まるファイルリストを対象とする
IF left(fsoFile.name,len(patternchr)) = patternchr THEN
objText.WriteLine fsoFile.name
itmcm = itmcm + 1
END IF
END IF
Next
WScript.Echo now & MSGLEVEL_I & "削除候補対象 : " & itmcm & " 件 "
End Sub
'-----------------------------------------------
' 1.3.4 (E-2) 候補リストを元にして削除処理実行
'-----------------------------------------------
Sub TmcmProcDel()
Dim fsoObj
Dim objTextSrc
Dim objTextTgt
Dim objFSO ' ファイルシステムオブジェクト
Dim objTextStream ' テキストストリームオブジェクト
Dim strText ' テキスト内容
Dim delfile
Dim itmcm
WScript.Echo now & MSGLEVEL_I & "削除処理実行 :" & ZIP_BASEPATH
'
' 候補リストによる削除
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFSO.OpenTextFile(LIST_FILE_TM, 1)
IF Not objFSO.FolderExists(ZIP_BASEPATH) THEN
WScript.Echo now & MSGLEVEL_S & "TmcmProcDel デイレクトリなしでファイル削除停止" & _
vbCrLf & ZIP_BASEPATH
WScript.Quit (10)
END IF
itmcm = 0
Do Until objTextStream.AtEndOfLine = True
strText = objTextStream.ReadLine
delfile = ZIP_BASEPATH & "\" & trim(strText)
objFSO.DeleteFile delfile, true
itmcm = itmcm + 1
WScript.Echo now & MSGLEVEL_I & "FILE DELETE : " & trim(strText)
Loop
objTextStream.Close
WScript.Echo now & MSGLEVEL_I & "削除処理結果 : " & itmcm & " 件 "
Set objTextStream = Nothing
Set objFSO = Nothing
End Sub
Z10_Mainlvp.vbs
'############################################################
'# lpvパターンファイルをコピーする
'#
'# 実行方法:コマンドコンソールから、以下の用に実施する
'# D:\task\splx>cscript //nologo Z10_lbpMainlvp.vbs > splxpatcopy.log &
'#
'# UPDATE 2013/08/21
'#
'# PARAM:NONE
'#
'#
'#
'############################################################
Option Explicit
' グローバル定義
Dim iStepNo : iStepNo = 1 'ステップ番号
Dim msg : msg = "コピー候補のファイル lpt$vpn.*" 'メッセージ
Dim ivpn '処理対象件数
'************************************************************
' 定数
'************************************************************
'' コピー元ディレクトリ
Const BASEPATH = "D:\Program Files (x86)\Trend Micro\OfficeScan\PCCSRV"
'' コピー先ディレクトリ
Const TAGTPATH = "D:\Program Files (x86)\Trend Micro\OfficeScan\PCCSRV\splxDownload"
'' 処理候補リスト
Const LIST_FILE_SRC = "d:\task\splx\tmp\FileListSrc.txt"
Const LIST_FILE_TGT = "d:\task\splx\tmp\FileListTgt.txt"
'' ドライブのリミット値(空容量)
Const DRIVE_FREE_LIMIT = 1000000000
'**************************************************************
' 全体処理
'**************************************************************
Call Init()
Call Main()
WScript.Quit (0)
'**************************************************************
' 初期処理
'**************************************************************
Sub Init()
Include "D:\task\splx\scripts\stdlib.vbs" ' 外部スクリプトをロード
'VBS起動するWSHコマンドがcScriptでない場合は
' エラーコード99で終了する
if Not (IsCscript()) then
WScript.Quit (99)
end if
SetLogHeader(msg)
End Sub
'**************************************************************
' メイン処理
'**************************************************************
Sub Main ()
SetLogStepStart 1,"候補リストの作成"
Call MainProcLst() '元・宛先ディレクトリ候補リストを作成
GetDriveFree LIST_FILE_TGT,msg
SetLogStepEnd 1,"候補リストの作成"
SetLogStepStart 2,"リセット"
Call MainProcDel() '宛先ディレクトリから対象の削除
SetLogStepEnd 2,"リセット"
SetLogStepStart 3,"コピー処理"
Call MainProcCpy() '宛先ディレクトリへ対象の複写
SetLogStepEnd 3,"コピー処理"
GetDriveFree LIST_FILE_TGT,msg ' DISK情報の表示
End Sub
'-----------------------------------------------
' 削除処理
'-----------------------------------------------
Sub MainProcDel()
Dim fsoObj
Dim objTextSrc
Dim objTextTgt
WScript.Echo now & MSGLEVEL_I & "DELETE FILE DIR:" & TAGTPATH
'------------------------
' コピー先:候補リストによる削除
'------------------------
Dim objFSO ' ファイルシステムオブジェクト
Dim objTextStream ' テキストストリームオブジェクト
Dim strText ' テキスト内容
Dim delfile
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFSO.OpenTextFile(LIST_FILE_TGT, 1)
If Not objFSO.FolderExists(TAGTPATH) Then
WScript.Echo now & MSGLEVEL_S & " 削除処理でデイレクトリなし。停止" _
& vbCrLf & TAGTPATH
WScript.Quit (10)
END IF
Do Until objTextStream.AtEndOfLine = True
strText = objTextStream.ReadLine
delfile = TAGTPATH & "\" & trim(strText)
objFSO.DeleteFile delfile, true
WScript.Echo now & MSGLEVEL_I & " FILE DELETE: " & trim(strText)
Loop
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
End Sub
'-----------------------------------------------
' コピー処理
'-----------------------------------------------
Sub MainProcCpy()
WScript.Echo now & MSGLEVEL_I & "COPY FILE FromDIR:" & BASEPATH & " -> " _
& vbCrLf & " ToDIR:" & BASEPATH
'------------------------
' コピー先:候補リストによる削除
'------------------------
Dim objFSO ' ファイルシステムオブジェクト
Dim objTextStream ' テキストストリームオブジェクト
Dim strText ' テキスト内容
Dim sFromFile
Dim sToFile
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFSO.OpenTextFile(LIST_FILE_SRC, 1)
If Not objFSO.FolderExists(BASEPATH) Then
WScript.Echo now & MSGLEVEL_S & " コピー処理で元デイレクトリなし。停止" _
& vbCrLf & BASEPATH
WScript.Quit (10)
END IF
If Not objFSO.FolderExists(TAGTPATH) Then
WScript.Echo now & MSGLEVEL_S & " コピー処理で先デイレクトリなし。停止" _
& vbCrLf & TAGTPATH
WScript.Quit (10)
END IF
Do Until objTextStream.AtEndOfLine = True
strText = objTextStream.ReadLine
sFromFile = BASEPATH & "\" & trim(strText)
sToFile = TAGTPATH & "\" & trim(strText)
WScript.Echo now & MSGLEVEL_I & " FILE COPY : " & trim(strText) _
& " " & vbCrLf & GetFileAttribute2(sFromFile)
'ファイルを上書きコピーする
If objFSO.FileExists(sFromFile) Then
Call objFSO.CopyFile(sFromFile, sToFile)
End If
Loop
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
End Sub
'-----------------------------------------------
' 候補リスト作成(メイン)
'-----------------------------------------------
Sub MainProcLst()
Dim fsoObj
Dim objTextSrc
Dim objTextTgt
Set fsoObj = CreateObject("Scripting.FileSystemObject")
'ログファイルがあったら抹消
If fsoObj.FileExists(LIST_FILE_SRC) Then
Call fsoObj.DeleteFile(LIST_FILE_SRC)
End If
If fsoObj.FileExists(LIST_FILE_TGT) Then
Call fsoObj.DeleteFile(LIST_FILE_TGT)
End If
'ログファイル準備
Set objTextSrc = fsoObj.OpenTextFile(LIST_FILE_SRC, 8, True, 0)
Set objTextTgt = fsoObj.OpenTextFile(LIST_FILE_TGT, 8, True, 0)
Dim objParam
objParam = BASEPATH
'------------------------
' コピー元、コピー先其々の候補リストを作成する
'------------------------
objParam = BASEPATH
'コピー元フォルダであるかをチェック
If fsoObj.FolderExists(objParam) Then
'リスト作成メイン実行
Call CreateFileList(fsoObj,objParam,objTextSrc)
Else
WScript.Echo now & MSGLEVEL_S & " リスト作成処理 コピー元デイレクトリなしで停止" _
& vbCrLf & BASEPATH & vbCrLf
WScript.Quit (10)
End If
If ivpn = 0 Then
WScript.Echo now & MSGLEVEL_W & " リスト作成処理 コピー元にファイルなしで終了" _
& vbCrLf & BASEPATH & vbCrLf
WScript.Quit (04)
End If
objParam = TAGTPATH
'コピー先フォルダであるかをチェック
If fsoObj.FolderExists(objParam) Then
'リスト作成メイン実行
Call CreateFileList(fsoObj,objParam,objTextTgt)
Else
WScript.Echo now & MSGLEVEL_S & " コピー先デイレクトリなしのためリスト処理を停止" _
& vbCrLf & TAGTPATH & vbCrLf
WScript.Quit (10)
End If
'ログファイルクローズ
objTextSrc.Close
objTextTgt.Close
'オブジェクト開放
Set objTextSrc = Nothing
Set objTextTgt = Nothing
Set fsoObj = Nothing
End Sub
'-----------------------------------------------
' 候補リスト作成(サブ)
'-----------------------------------------------
Sub CreateFileList(fsoObj,inFolderName,objText)
WScript.Echo now & MSGLEVEL_I & " 候補リスト : " & inFolderName
Dim fsoFolder
Dim fsoSubFolder
Dim fsoFile
ivpn = 0
'フォルダオブジェクト取得
Set fsoFolder = fsoObj.GetFolder(inFolderName)
For Each fsoFile In fsoFolder.Files
'ログに出力
IF left(fsoFile.name,len("lpt$vpn.")) = "lpt$vpn." THEN
objText.WriteLine fsoFile.name
ivpn = ivpn + 1
END IF
Next
WScript.Echo now & MSGLEVEL_I & " リスト対象数: " & ivpn & "件"
End Sub
'************************************************************
' 外部スクリプトをロードする
'************************************************************
Function Include( strFileName )
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim file
Set file = fso.OpenTextFile( strFileName )
ExecuteGlobal file.ReadAll
file.Close
End Function
Z10_Main.vbs
'############################################################
'# Server Protect For Linux Pattern ファイルの配布
'#
'# 実行方法:コマンドコンソールから実施する
'# D:\task\splx>cscript //nologo Z10_Main.vbs > splxpatcopy.log &
'#
'# UPDATE 2013/09/06
'#
'# RELATE PARAMERWE VALUE & MASHINE ENVIROMENT
'# PARM : BLANK -> XXM1XV01 (プロキシ有)
'# 1 -> XXV1DM12 ,XXV1DM13 (プロキシ無)
'#
'#
'############################################################
Option Explicit
' グローバル定義
Dim sGparm_Proxy 'パラメータ1 1:プロキシ無
Dim iStepNo : iStepNo = 1 'ステップ番号
Dim msg : msg = "" 'メッセージ
Dim sComputer
Dim URL
'************************************************************
' 定数
'************************************************************
'
' IVMIXVI01のリクエスト対象のURL (インターネットサイト)
'Const XXMIXVI01 = "http://downloadcenter.trendmicro.com/index.php?clk=tab_pattern&clkval=109®s=jp&lang_loc=13"
Const URL_XXMIXVI01 = "http://localhost:8080/examples/dl.html"
' SAV1DM12のリクエスト対象のURL (社内サイト:XXMIXVI01)
'Const URL_XXV1DM12 = "http://999.18.137.8/officescan/splxdownload/Z10_Main.ini"
Const URL_XXV1DM12 = "http://localhost:8080/examples/Z10_Main.ini"
' SAV1DM13のリクエスト対象のURL (社内サイト:XXV1DM12)
'Const URL_XXV1DM13 = "http://999.18.145.50/officescan/splxdownload/Z10_Main.ini"
Const URL_XXV1DM13 = "http://localhost:8080/examples12/Z10_Main.ini"
' Trend Micro Server Protect Download Center Base Url
'Const TO_URL_BASE_TMSP = "http://www.trendmicro.com/ftp/products/aupattern/japan_offline/"
Const TO_URL_BASE_TMSP = "http://localhost:8080/examples/"
' IVMIXVI01 Site Base URL
'Const TO_URL_XXMIXVI01 = "http://999.18.137.8/officescan/splxdownload/"
Const TO_URL_XXMIXVI01 = "http://localhost:8080/examples/"
' SAV1DM12 Site Base URL
'Const TO_URL_XXV1DM12 = "http://999.18.145.50/officescan/splxdownload/"
Const TO_URL_XXV1DM12 = "http://localhost:8080/examples12/"
' SAV1DM13 Site Base URL
'Const TO_URL_XXV1DM13 = "http://999.18.145.50/officescan/splxdownload/"
Const TO_URL_XXV1DM13 = "http://localhost:8080/examples13/"
' カレントパス
Const CURRENT_PATH = "D:\task\splx"
' ダウンロード設定ファイルのパス
Const DWLDFILE_INI = "D:\task\splx\Z10_Main.ini"
' レスポンスを内容を一時出力のパス
Const RESPONS_TEXT = "D:\task\splx\tmp\GetDLC_Site.txt"
' 処理候補リスト
Const LIST_FILE_TM = "D:\task\splx\tmp\tmcmFList.txt"
' 外部共通部品のファイル
Const INCLD_SCRIPT = "D:\task\splx\scripts\stdlib.vbs"
' ダウンロード先と展開先のディレクトリ
Const ZIP_BASEPATH = "D:\Program Files (x86)\Trend Micro\OfficeScan\PCCSRV\splxDownload"
' IVMIXVI01 Site Base URL
Const PARM_MODE1 = 1 'プロキシ経由なし
' ドライブのリミット値(空容量 バイト)
Const DRIVE_FREE_LIMIT = 1100000000
' 候補リストパターン
Const PATTERN_ZIP = "tmcm_patternupdate"
'**************************************************************
' 1.0 処理全体
'**************************************************************
Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
'Wscript.Echo objShell.CurrentDirectory
Set objShell = Nothing
'カレントパス取得
Dim objPath
Set objPath = CreateObject("Scripting.FileSystemObject").GetFolder(".")
'Wscript.Echo objPath
Dim s
Main_Init()
Main_Prosess()
Main_Terminate()
WScript.Quit (0)
'**************************************************************
' 1.2 メイン処理
'**************************************************************
Sub Main_Prosess()
'---------------------------------------------------------
'-- 1.2 メイン処理(1) リクエスト対象のURL -------------
'---------------------------------------------------------
' 設定ファイルを作成する
Dim sMain_Prosess
Dim sGetDLC_Site
Dim sURI,sFile
Dim iPos,str
Dim objFso, objFile
sMain_Prosess = ""
SetLogStepStart 1,"SITE HTML GET **********************"
'Http GetでダウンロードするZIPの情報の保管先から引出す
IF sComputer = "XX09716" THEN
sGetDLC_Site = GetDLC_Site(URL,"2")
ELSE
sGetDLC_Site = GetDLC_Site(URL,"")
END IF
'取りこんだファイルから必要なURL情報を引き出す
sFile = GetUrlFile(sGetDLC_Site)
'自環境のMain.Iniへ ダウンロードするURLを書き出す)
'URIと連結させて、URLをファイルへ書き出す。
IF sComputer = "XXV1DM12" THEN
sGetDLC_Site = TO_URL_IVMIXVI01 & sFile
End IF
IF sComputer = "XXV1DM13" THEN
sGetDLC_Site = TO_URL_SAV1DM12 & sFile
End IF
WScript.Echo now & MSGLEVEL_I & "URL =" & URL
WScript.Echo now & MSGLEVEL_I & " ( " & GetURI(sGetDLC_Site) & " " & GetUrlFile(sGetDLC_Site) & " ) "
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.OpenTextFile(DWLDFILE_INI, 2, True)
IF Err.Number > 0 THEN
WScript.Echo now & MSGLEVEL_E & "NG Open Error " & DWLDFILE_INI
WScript.Quit (10)
ELSE
objFile.WriteLine sGetDLC_Site
END IF
objFile.Close
WScript.Echo now & MSGLEVEL_I & "RE_WRITE OK " & DWLDFILE_INI
Set objFile = Nothing
Set objFso = Nothing
SetLogStepEnd 1, "SITE HTML GET ********************** "
'---------------------------------------------------------
'-- 1.2 メイン処理(2) パターンファイをダウンロード -
'---------------------------------------------------------
SetLogStepStart 2,"Pattern File DownLoad **************"
Dim sURLPattern,savefile
Dim sRet
' 定義ファイルを読み込んで、変数ファイル名を編集する
sURLPattern= trim(ReadTextLine(DWLDFILE_INI))
savefile = ZIP_BASEPATH & "\" & GetUrlFilename(sURLPattern)
WScript.Echo now & MSGLEVEL_I & "From : " & sURLPattern & vbCrLf & _
vbtab & vbtab & vbtab & "TO : " & savefile
sRet = GetDLC_ZIP( sURLPattern, savefile)
WScript.Echo now & MSGLEVEL_I & "結果:" & sRet
IF left(trim(sRet),2) = "NG" THEN
WScript.Echo now & MSGLEVEL_E & "** 実行中止 ********************************************" & vbCrLf
WScript.Quit (10)
END IF
SetLogStepEnd 2, " Pattern File DownLoad ***********"
'---------------------------------------------------------
'-- 1.2 メイン処理(3) 展開する ------------------------
'---------------------------------------------------------
SetLogStepStart 3,"Extract File ***********************"
Dim ExtractFrom ' 展開元ファイル
Dim ExtractTo ' 展開先
Dim s
Dim sType
s = trim(ReadTextLine(DWLDFILE_INI))
ExtractFrom = ZIP_BASEPATH & "\" & GetUrlFilename(s)
ExtractTo = ZIP_BASEPATH
sType = Unzip_Tmcm(ExtractFrom,ExtractTo)
WScript.Echo now & MSGLEVEL_I & "From : " & _
ExtractFrom & vbCrLf & _
vbtab & vbtab & vbtab & "TO : " & ExtractTo
SetLogStepEnd 3, "Extract File ***********************"
'Main_Prosess = s
End Sub
'**************************************************************
' 1.1 初期処理
'**************************************************************
Sub Main_Init()
IncludeScript INCLD_SCRIPT
' VBS起動するWSHコマンドがcScriptでない場合は
' エラーコード99で終了する
IF Not(IsCscript()) THEN
WScript.Quit (99)
END IF
msg="**Note:CScript Only Run**"
sComputer = SetLogHeader(msg)
IF sComputer = "XXMIXVI01" THEN
URL = URL_XXMIXVI01
END IF
' SAV1DM12のリクエスト対象のURL
IF sComputer = "XXV1DM12" THEN
URL = URL_XXV1DM12
END IF
' SAV1DM13のリクエスト対象のURL
IF sComputer = "XXV1DM13" THEN
URL = URL_XXV1DM13
END IF
Call GetParam()
End Sub
'-----------------------------------------------
' 1.1.1 パラメータ取得処理
'-----------------------------------------------
Sub GetParam()
Dim i
Dim objParm
sGparm_Proxy = "" ' モード
Set objParm=WScript.Arguments
For i=1 To objParm.Count
WScript.echo now & MSGLEVEL_I & "** (" & i & ") " & objParm.Item(i - 1)
IF i = 1 THEN
sGparm_Proxy = objParm.Item(i - 1)
END IF
Next
End sub
'**************************************************************
' 1.3 終了処理
'**************************************************************
Sub Main_Terminate()
Dim s
Dim patternchr
patternchr = PATTERN_ZIP
'-----------------------------------------------------
'-- 1.3.1 ファイルをコピーする -----------------------
'-----------------------------------------------------
SetLogStepStart 4,"COPY FILE **************************"
Dim sToFile
sToFile = ZIP_BASEPATH & "\" & "Z10_Main.ini"
Z10_CopyFile DWLDFILE_INI,sToFile
WScript.Echo now & MSGLEVEL_I & "OK Copy:FROM " & DWLDFILE_INI & vbcrlf & vbtab & "TO:" & sToFile
'ダウンロードしたパターンファイルを現在のバージョンを除くものを削除する
'tmpにデイレクトリ一覧を作成して(今ダウンロードしたものは除く)
s= trim(ReadTextLine(DWLDFILE_INI))
Call TmcmProcLst(GetUrlFilename(s),patternchr)
' 候補リストに従い、削除する
Call TmcmProcDel()
SetLogStepEnd 4, "COPY FILE **************************"
WScript.Echo now & MSGLEVEL_I & "** NORMAL_END *****************************************" & vbCrLf
WScript.Quit (0)
End Sub
'************************************************************
' 関数: IncludeScript
' 用途:外部スクリプトをロードする
' 入力: テキストファイルパス
'************************************************************
Sub IncludeScript( strFileName )
Dim efso,efile
Set efso = CreateObject("Scripting.FileSystemObject")
Set efile = efso.OpenTextFile( strFileName )
ExecuteGlobal efile.ReadAll
efile.Close
End Sub
Linux/メモリ負荷 わざと負荷をかける.sh
●MEMORY
[root@server01 ~] # chmod 755 membusy.pl [root@server01 ~] # ./membusy.pl &
[root@server01 ~]# cat cpubusy.pl #!/usr/bin/perl
# cpubusy.pl
$goal = 1000000;
while (1) {
$before = time();
for ($i = 0; $i < $goal; $i ++) {
$x = 0.000001;
$y = sin($x);
$y = $y + 0.00001;
}
$y += 0.01;
# print "One million sin: ", time() - $before, " seconds!\n";
} [root@server01 ~]# chmod 755 cpubusy.pl [root@server01 ~]# ./cpubusy.pl &
Z10_Main /splxpatcopy.bat
@echo off
rem =設定事項 ==================================================================
set logfile="D:\task\splx\logs\%date:~0,4%-%date:~5,2%-%date:~8,2%_%~n0.log"
set logtext="D:\task\splx\%~n0.txt"
rem =設定事項 ==================================================================
set skipcnt=30
set logsdir="logs"
set filter="*.log"
rem ============================================================================
echo on
rem ログファイルの初期化処理
del %logtext%
ver
echo "#=========================================================================" >> %logtext% 2>&1
echo "# Server Protect For Linix パターンファイルの処理 " >> %logtext% 2>&1
echo "# " >> %logtext% 2>&1
echo "# << BATH NAME >> " >> %logtext% 2>&1
echo "# NAME :%0 コマンドラインでの実行ファイル名 " >> %logtext% 2>&1
echo "# PARAMETER :%1 パラメータ " >> %logtext% 2>&1
echo "# PATH :%~DP0 ドライブ文字とパス " >> %logtext% 2>&1
echo "# FULL NAME :%~NX0 ファイル名と拡張子 " >> %logtext% 2>&1
echo "# ------------------------------------------------------------------------" >> %logtext% 2>&1
echo "# EXCUTE :%date% %time% " >> %logtext% 2>&1
echo "# ------------------------------------------------------------------------" >> %logtext% 2>&1
echo "# << BATH PARAMETERS >> " >> %logtext% 2>&1
echo "# LOGDIR :%logsdir% " >> %logtext% 2>&1
echo "# SKIPCOUNT :%skipcnt% " >> %logtext% 2>&1
echo "# FILTER :%filter% " >> %logtext% 2>&1
echo "# " >> %logtext% 2>&1
echo "#=========================================================================" >> %logtext% 2>&1
rem バッチパラメータ1
rem BLANK:Proxy 環境 iVMIXVI01 (internet アクセス)
rem 1:Proxy 指定なしの環境 sav1dm12,savdm13(社内ネットアクセス)
ver
echo "#=========================================================================" >> %logtext% 2>&1
echo "# (1) lpvパターンファイルのコピー " >> %logtext% 2>&1
echo "# CREATER IT-SYSTEM-G " >> %logtext% 2>&1
echo "# EXCUTE %date% %time% " >> %logtext% 2>&1
echo "# LOG :%logfile% " >> %logtext% 2>&1
echo "#=========================================================================" >> %logtext% 2>&1
rem call cscript //Nologo scripts/Z10_Mainlvp.vbs >> %logfile%
rem echo "# ** (1) lpvパターンファイルのコピー処理 終了 **" >> %logtext% 2>&1
echo "#=========================================================================" >> %logtext% 2>&1
echo "# (2) サーバプロテクトパターンのダウンロードと展開 " >> %logtext% 2>&1
echo "# CREATER IT-SYSTEM-G " >> %logtext% 2>&1
echo "# EXCUTE %date% %time% " >> %logtext% 2>&1
echo "# LOG :%logfile% " >> %logtext% 2>&1
echo "#=========================================================================" >> %logtext% 2>&1
setlocal enabledelayedexpansion
call cscript //Nologo scripts/Z10_Main.vbs %1 >> %logfile%
endlocal
echo "# ** (2) サーバプロテクトパターン処理終了 **" >> %logtext% 2>&1
echo "#=========================================================================" >> %logtext% 2>&1
echo "# (3) 一定ファイル数超えたら古いログファイルを削除 " >> %logtext% 2>&1
echo "# << BATH NAME >> " >> %logtext% 2>&1
echo "# ------------------------------------------------------------------------" >> %logtext% 2>&1
echo "# EXCUTE :%date% %time% " >> %logtext% 2>&1
echo "# ------------------------------------------------------------------------" >> %logtext% 2>&1
echo "# << 関連パラメータ >> " >> %logtext% 2>&1
echo "# LOGDIR :%logsdir% " >> %logtext% 2>&1
echo "# SKIPCOUNT :%skipcnt% " >> %logtext% 2>&1
echo "# FILTER :%filter% " >> %logtext% 2>&1
echo "#=========================================================================" >> %logtext% 2>&1
cd %logsdir%
echo off
echo "#-------------------------------------------------------------------------" >> %logtext% 2>&1
echo "# (3-1) 削除処理の対象件数の判定処理 " >> %logtext% 2>&1
echo "# %date% %time% " >> %logtext% 2>&1
echo "#-------------------------------------------------------------------------" >> %logtext% 2>&1
for /F %%a in ('dir /a:-d ^| find "個のファイル"') do set files=%%a
echo ログファイルの個数は現在、%files%個です。>> %logtext% 2>&1
if %files% GTR %skipcnt% goto Over:
echo "# ログファイル件数の%skipcnt%個以下のため、削除処理は実行しない。#" >> %logtext% 2>&1
echo "# ** (3-1) 終了 **" >> %logtext% 2>&1
rem pause
exit
:Over
echo "#--------------------------------------------------------------------------" >> %logtext% 2>&1
echo "# (3-2) 削除処理前 ファイル名一覧(名前の降順) " >> %logtext% 2>&1
echo "# %date% %time% " >> %logtext% 2>&1
echo "#--------------------------------------------------------------------------" >> %logtext% 2>&1
dir /o-n %filter% /tc >> %logtext% 2>&1
for /F "skip=%skipcnt%" %%a in ('dir /b /o-n %filter%') do (del %%a) >> %logtext% 2>&1
echo "# ** (3-2) 終了 **" >> %logtext% 2>&1
echo "#--------------------------------------------------------------------------" >> %logtext% 2>&1
echo "# (3-3) 削除処理後 ファイル名一覧(名前の降順) " >> %logtext% 2>&1
echo "# %date% %time% " >> %logtext% 2>&1
echo "#--------------------------------------------------------------------------" >> %logtext% 2>&1
dir /o-n %filter% /tc >> %logtext% 2>&1
echo "# ** (3-3) 終了 **" >> %logtext% 2>&1
echo "# ** (3) ログファイル管理処理 終了 **" >> %logtext% 2>&1
rem pause
:Exit
exit
Windows/ファイル負荷 わざとビッグサイズのファイルを作成
Dim sSIZE
sFILE = "D:\dummy.txt"
' 1Mega Byte
sSIZE = 4073741824
DsAlloc sFILE,sSIZE
WScript.Quit (0)
'-----------------------------------------------------------------------
' 関数名:DsAlloc
' 作成日:2013/09/04
' 作成者:
' 目 的:DOS コマンドの実行結果を取得します。
' 戻り値:DOS コマンドの実行結果を String 型で返します。
' コマンドが正常に実行できた場合はその内容が、エラーが発生した
' 場合はそのエラー内容が返ります。
' 引 数:sCommand-> 必須/入力用です。実行コマンドを文字列型で渡します。
' 注 意:実行中はコマンドプロンプト ウィンドウは表示されません。アイコン
' もタスクバーに表示されません。また DOS コマンドは同期実行され
' ます。したがってコマンドの実行が完了するまで制御は戻りません。
'-----------------------------------------------------------------------
Function DsAlloc(sFILE,sSIZE)
Dim sCommand
sCommand = "fsutil file createnew " & sFILE & " " & sSIZE
Dim oShell
Set oShell = CreateObject ("WSCript.shell")
oShell.Run "cmd /K " & sCommand
'oShell.run "cmd /K fsutil file createnew D:\dummy.txt 1073741824"
End Function
Winodws/CPU負荷 わざと負荷をかける
Dim goal Dim before Dim x Dim y Dim i goal = 1000000 Do While True before = Timer For i = 0 to goal x = 0.000001 y = sin(x) y = y + 0.00001 Next y = y + 0.01 Loop
TOMCAT停止起動関連
◆ 起動方法 # apachectl start または # service httpd start ◆ 停止方法 # apachectl stop または # service httpd stop ◆ 動作確認方法 # service httpd status (表示例) httpd (pid 3503) を実行中... ※プロセスIDと実行中の文字を確認する。 ・プロセスリストからの確認 # ps -ef | grep httpd (表示例) root 3503 1 0 13:59 ? 00:00:00 /usr/sbin/httpd -k start apache 3505 3503 0 13:59 ? 00:00:00 /usr/sbin/httpd -k start apache 3506 3503 0 13:59 ? 00:00:00 /usr/sbin/httpd -k start apache 3507 3503 0 13:59 ? 00:00:00 /usr/sbin/httpd -k start apache 3508 3503 0 13:59 ? 00:00:00 /usr/sbin/httpd -k start apache 3509 3503 0 13:59 ? 00:00:00 /usr/sbin/httpd -k start apache 3510 3503 0 13:59 ? 00:00:00 /usr/sbin/httpd -k start apache 3511 3503 0 13:59 ? 00:00:00 /usr/sbin/httpd -k start apache 3512 3503 0 13:59 ? 00:00:00 /usr/sbin/httpd -k start ※ httpd プロセスが動作している事を確認する。 ・ポートリストからの確認 (表示例) # netstat -nlp|grep httpd tcp 0 0 :::80 :::* LISTEN 12527/httpd ※ポート番号"80"が、"LISTEN"状態であること。 ・Webページの確認 インターネットブラウザから、http://ホストのIP/ を入力し初期ページの表示を確認する。
Apatch/Tomcat連携
[root@XXp1oa01 conf.d]# pwd /etc/httpd/conf.d [root@XXp1oa01 conf.d]# vi /etc/httpd/conf.d/proxy_ajp.confRewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) ajp://172.26.81.171:8009/$1 [QSA,P] ProxyErrorOverride On
Linux/VIエディタ
■vi
http://itpro.nikkeibp.co.jp/article/COLUMN/20081007/316311/
http://www.intellect.co.jp/pc_unix/vi01.html http://net-newbie.com/linux/commands/vi.html
http://uguisu.skr.jp/Windows/vi.html
■指定行へ飛ばす :xxx 例:221行へ → :221
■LINUXのリブート SSHにおて、"reboot"
■CDマウント umnt /mnt/cdrom umnt /--/NEW
http://itpro.nikkeibp.co.jp/article/COLUMN/20081007/316311/
http://www.intellect.co.jp/pc_unix/vi01.html http://net-newbie.com/linux/commands/vi.html
http://uguisu.skr.jp/Windows/vi.html
■指定行へ飛ばす :xxx 例:221行へ → :221
■LINUXのリブート SSHにおて、"reboot"
■CDマウント umnt /mnt/cdrom umnt /--/NEW
Linux/グループとユーザ作成
[root@XXa2ow01 ~]# more /etc/passwd | grep tomcat tomcat:x:91:91:Apache Tomcat:/usr/share/tomcat6:/sbin/nologin [root@XXa2ow01 ~]# ・既存のグループIDを確認する。 [root@XXa2ow01 ~]# more /etc/group | grep tomcat tomcat:x:91: [root@XXa2ow01 ~]# ・既存ユーザIDを確認する。 [root@XXa2ow01 ~]# more /etc/passwd | grep tomcat tomcat:x:91:91:Apache Tomcat:/usr/share/tomcat6:/sbin/nologin [root@XXa2ow01 ~]# ・グループIDを作成する。 # groupadd -g gid tomcat ・ユーザIDを作成する。 # useradd -u uid -g tomcat tomcat
Windowsコマンド
【Windows コマンド】
■OSのバージョンを表示
winverコマンドでひょうじされた タイトルと、service pack
名前を記載
http://www.microsoft.com/ja-jp/security/pc-security/ver_win.aspx
■UPDATEの内容を表示
systeminfo
Linux Fdisk lv/vg
http://pantora.net/pages/lvm/2/
---------------------------------------------------------------
[root@XXp1ob01 ~]# su - root [root@XXp1ob01 ~]# ls anaconda-ks.cfg install.log.syslog [root@XXp1ob01 ~]# pwd /root
■RHL Fdisk
---------------------------------------------------------------
[root@XXp1ob01 ~]# su - root [root@XXp1ob01 ~]# ls anaconda-ks.cfg install.log.syslog [root@XXp1ob01 ~]# pwd /root
■RHL Fdisk
[root@XXp1ob01 ~]# fdisk -l
ディスク /dev/sda: 42.9 GB, 42949672960 バイト
ヘッド 64, セクタ 32, シリンダ 40960
Units = シリンダ数 of 2048 * 512 = 1048576 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00007cc4
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 2 501 512000 83 Linux
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2 502 40960 41430016 8e Linux LVM
パーティション 2 は、シリンダ境界で終わっていません。
ディスク /dev/mapper/vg_root-lv_root: 20.9 GB, 20946354176 バイト
ヘッド 255, セクタ 63, シリンダ 2546
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
ディスク /dev/mapper/vg_root-lv_root は正常なパーティションテーブルを含んでいま せん
ディスク /dev/mapper/vg_root-lv_swap: 4294 MB, 4294967296 バイト
ヘッド 255, セクタ 63, シリンダ 522
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
ディスク /dev/mapper/vg_root-lv_swap は正常なパーティションテーブルを含んでいま せん
ディスク /dev/mapper/vg_root-lv_var: 17.2 GB, 17179869184 バイト
ヘッド 255, セクタ 63, シリンダ 2088
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
ディスク /dev/mapper/vg_root-lv_var は正常なパーティションテーブルを含んでいません
ディスク /dev/sdb: 161.1 GB, 161061273600 バイト
ヘッド 255, セクタ 63, シリンダ 19581
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
ディスク /dev/sdb は正常なパーティションテーブルを含んでいません
[root@XXp1ob01 ~]# fdisk /dev/sdb
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルをディスク識別子 0x0b1d2021 で作成します。
あなたが書き込みを決定するまで、変更はメモリ内だけに残します。
その後はもちろん以前の内容は修復不可能になります。
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります
警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
強く推奨します。 and change display units to
sectors (command 'u').
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本パーティション (1-4)
p
パーティション番号 (1-4): 1
最初 シリンダ (1-19581, 初期値 1):
初期値 1 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-19581, 初期値 19581):
初期値 19581 を使います
コマンド (m でヘルプ): t
選択した領域 1
16進数コード (L コマンドでコードリスト表示): 8e
領域のシステムタイプを 1 から 8e (Linux LVM) に変更しました
コマンド (m でヘルプ): p
ディスク /dev/sdb: 161.1 GB, 161061273600 バイト
ヘッド 255, セクタ 63, シリンダ 19581
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x0b1d2021
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 19581 157284351 8e Linux LVM
コマンド (m でヘルプ): w
パーティションテーブルは変更されました!
ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。
-------------------------------------------------------------------
■RHL Pv Create
[root@XXp1ob01 ~]# pvcreate /dev/sdb1 Writing physical volume data to disk "/dev/sdb1" Physical volume "/dev/sdb1" successfully created■RHL Pg Create
[root@XXp1ob01 ~]# vgcreate vg_data /dev/sdb1 Volume group "vg_data" successfully created■RHL vgdisplay
[root@XXp1ob01 ~]# vgdisplay vg_data --- Volume group --- VG Name vg_data System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 150.00 GiB PE Size 4.00 MiB Total PE 38399 Alloc PE / Size 0 / 0 Free PE / Size 38399 / 150.00 GiB VG UUID qq6A0F-aPws-4oFz-Zxue-1Llj-uOV7-rGeYSG■lv_data
[root@XXp1ob01 ~]# lvcreate -l 38399 -n lv_data vg_data Logical volume "lv_data" created■lvdisplay
[root@XXp1ob01 ~]# lvdisplay --- Logical volume --- LV Name /dev/vg_data/lv_data VG Name vg_data LV UUID S1DYWQ-TYRi-zV3v-UdlT-cOhw-lcMY-6QZ43r LV Write Access read/write LV Status available # open 0 LV Size 150.00 GiB Current LE 38399 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:3 --- Logical volume --- LV Name /dev/vg_root/lv_root VG Name vg_root LV UUID 6cLyXT-0VWt-KTo2-J12T-aPRU-IOh9-02hoZn LV Write Access read/write LV Status available # open 1 LV Size 19.51 GiB Current LE 4994 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Name /dev/vg_root/lv_swap VG Name vg_root LV UUID InvxSR-g9sv-0eN7-sBAe-Q0Ar-0KBN-386Wf2 LV Write Access read/write LV Status available # open 1 LV Size 4.00 GiB Current LE 1024 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 --- Logical volume --- LV Name /dev/vg_root/lv_var VG Name vg_root LV UUID vo5xqc-QdUe-T3Qc-87Ex-GY37-v3Lr-YWh2En LV Write Access read/write LV Status available # open 1 LV Size 16.00 GiB Current LE 4096 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2■mkfs
[root@XXp1ob01 ~]# mkfs.ext4 /dev/vg_data/lv_data
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
9830400 inodes, 39320576 blocks
1966028 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
1200 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
■mkdir
[root@XXp1ob01 ~]# mkdir /data■mount
[root@XXp1ob01 ~]# mount /dev/vg_data/lv_data /data■fstab
[root@XXp1ob01 ~]# vi /etc/fstab
Linux Tomcat導入
■Tomcat Install Pre
[root@XXp1oa01 /]# chkconfig --level 2345 tomcat6 on [root@XXp1oa01 /]# chkconfig --list |grep tomcat6 tomcat6 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@XXp1oa01 /]# cd /usr/share/tomcat6/ [root@XXp1oa01 tomcat6]# rm logs temp webapps work rm: remove シンボリックリンク `logs'? y rm: remove シンボリックリンク `temp'? y rm: remove シンボリックリンク `webapps'? y rm: remove シンボリックリンク `work'? y [root@XXp1oa01 tomcat6]# mv /var/lib/tomcat6/ /data/apdata/lib/ [root@XXp1oa01 tomcat6]# ln -s /data/apdata/lib/tomcat6/ /var/lib/tomcat6 [root@XXp1oa01 tomcat6]# ln -s /data/apdata/log/tomcat6 /usr/share/tomcat6/logs [root@XXp1oa01 tomcat6]# ln -s /data/apdata/cache/tomcat6/temp /usr/share/tomcat6/temp [root@XXp1oa01 tomcat6]# ln -s /data/apdata/lib/tomcat6/webapps /usr/share/tomcat6/webapps [root@XXp1oa01 tomcat6]# ln -s /data/apdata/cache/tomcat6/work /usr/share/tomcat6/work [root@XXp1oa01 tomcat6]# cp -par /mnt/cdrom/Tomcat6_AddPackage/ /opt/admtools/ [root@XXp1oa01 tomcat6]# cd /opt/admtools/Tomcat6_AddPackage/■Tomcat Install
[root@XXp1oa01 Tomcat6_AddPackage]# yum install tomcat6-admin-webapps-6.0.24-33.el6.noarch.rpm Loaded plugins: product-id, refresh-packagekit, security, subscription-manager--------------------------------------------------------------------------------- ■Tomcat Setup
[root@XXp1oa01 Tomcat6_AddPackage]# vi /etc/init.d/tomcat6 [root@XXp1oa01 Tomcat6_AddPackage]# vi /etc/tomcat6/tomcat-users.xml [root@XXp1oa01 Tomcat6_AddPackage]# service tomcat6 start Starting tomcat6: [ OK ]■Tomcat Setup
[root@XXp1oa01 Tomcat6_AddPackage]# vi /etc/logrotate.d/tomcat6 [root@XXp1oa01 Tomcat6_AddPackage]# vi /etc/cron.daily/tmpwatch■Tomcat Start/Stop
[root@XXp1oa01 Tomcat6_AddPackage]# service tomcat6 start Starting tomcat6: [ OK ] [root@XXp1oa01 Tomcat6_AddPackage]# service tomcat6 stop Stopping tomcat6: [ OK ] [root@XXp1oa01 Tomcat6_AddPackage]# service tomcat6 status tomcat6 is stopped [ OK ]■Tomcat Activity Check
[root@XXp1oa01 Tomcat6_AddPackage]# ps -ef | grep tomcat6 tomcat 19124 1 43 14:39 ? 00:00:01 /usr/lib/jvm/java/bin/java -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory -classpath :/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat6/temp -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start root 19147 17977 0 14:39 pts/0 00:00:00 grep tomcat6■Tomcat Log
[root@XXp1oa01 Tomcat6_AddPackage]# cd /data/apdata/log/tomcat6 [root@XXp1oa01 tomcat6]# dir catalina.2013-09-19.log catalina.out host-manager.2013-09-19.log localhost.2013-09-19.log manager.2013-09-19.log [root@XXp1oa01 tomcat6]# less catalina.2013-09-19.log [root@XXp1oa01 tomcat6]#■Tomcat Activity Check
[root@XXp1oa01 Tomcat6_AddPackage]# netstat -nlp|grep 8080 tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 19124/java■Tomcat Status
[root@XXp1oa01 Tomcat6_AddPackage]# service tomcat6 status tomcat6 (pid 19124) is running... [ OK ]■Tomcal Intall Log
[root@XXp1oa01 tomcat6]# less catalina.2013-09-19.log
2013/09/19 14:34:13 org.apache.catalina.core.AprLifecycleListener init
情報: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/../lib/amd64:/opt/oracle/product/11.2.0/client_1/lib::/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2013/09/19 14:34:14 org.apache.coyote.http11.Http11Protocol init
情報: Coyote HTTP/1.1を http-8080 で初期化します
2013/09/19 14:34:14 org.apache.catalina.startup.Catalina load
情報: Initialization processed in 2528 ms
2013/09/19 14:34:14 org.apache.catalina.core.StandardService start
情報: サービス Catalina を起動します
2013/09/19 14:34:14 org.apache.catalina.core.StandardEngine start
情報: Starting Servlet Engine: Apache Tomcat/6.0.24
2013/09/19 14:34:14 org.apache.catalina.startup.HostConfig deployDirectory
情報: Webアプリケーションディレクトリ host-manager を配備します
2013/09/19 14:34:15 org.apache.catalina.startup.HostConfig deployDirectory
情報: Webアプリケーションディレクトリ manager を配備します
2013/09/19 14:34:15 org.apache.coyote.http11.Http11Protocol start
情報: Coyote HTTP/1.1を http-8080 で起動します
2013/09/19 14:34:15 org.apache.jk.common.ChannelSocket init
情報: JK: ajp13 listening on /0.0.0.0:8009
2013/09/19 14:34:15 org.apache.jk.server.JkMain start
情報: Jk running ID=0 time=0/46 config=null
2013/09/19 14:34:15 org.apache.catalina.startup.Catalina start
dbcp.BasicDataSourceFactory -classpath :/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat6/temp -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start
root 19203 17977 0 14:40 pts/0 00:00:00 grep tomcat6
Linux コマンド
■履歴
history■履歴の保存場所
[root@XXp1oa02 ~]# pwd /root [root@XXp1oa02 ~]# cd .hist [root@XXp1oa02 .hist]# ll 合計 168 -rw-------. 1 root root 350 9月 18 13:26 2013 XX1od01.myhost.local.130918.2964 -rw-------. 1 root root 140 2月 4 15:29 2013 localhost.130204.2501 [root@XXp1oa02 .hist]# ls XX1od01.myhost.local.130918.2964 sap1oa02.myhost.local.130918.4744 localhost.130204.2501 sap1oa02.myhost.local.130918.4906 [root@XXp1oa02 .hist]#■RedHat Linuxのバージョン確認
[root@XXa1mg25 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.2 (Santiago) [root@XXa1mg25 ~]#■容量の確認
[root@XXa1mg25 ~]# df -h
Filesystem Size Used Avail Use% マウント位置
/dev/mapper/vg_root-lv_root
20G 8.9G 9.4G 49% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 485M 54M 406M 12% /boot
/dev/mapper/vg_root-lv_var
16G 737M 15G 5% /var
/dev/mapper/vg_data-lv_data
2.0G 1.9G 12K 100% /data
/dev/mapper/vg_export-lv_export
2.0G 261M 1.7G 14% /export
[root@XXa1mg25 ~]#
[root@XXp1oa01 tomcat6]# df -h
Filesystem Size Used Avail Use% マウント位置
/dev/mapper/vg_root-lv_root
20G 5.4G 13G 30% /
tmpfs 1.9G 260K 1.9G 1% /dev/shm
/dev/sda1 485M 54M 406M 12% /boot
/dev/mapper/vg_root-lv_var
16G 328M 15G 3% /var
/dev/mapper/vg_data-lv_data
60G 181M 56G 1% /data
/dev/mapper/vg_export-lv_export
89G 184M 84G 1% /export
[root@XXp1oa01 tomcat6]#
■Tomcat環境調査
管理コンソールのユーザとpass
[root@XXa2ow01 tomcat6]# find -name tomcat6* [root@XXa2ow01 tomcat6]# cat tomcat-users.xml [root@XXa2ow01 tomcat6]# pwd /etc/tomcat6 [root@XXa2ow01 tomcat6]# tomcat/password■導入確認
# rpm -qa | grep tomcat6■起動状態の確認 <
[root@XXa2ow01 /]# service tomcat6 status tomcat6 (pid 24757) is running... [ OK ] [root@XXa2ow01 /]#■導入JDKの確認
[root@XXa2ow01 bin]# rpm -qa java-1.6.0-openjdk java-1.6.0-openjdk-1.6.0.0-1.41.1.10.4.el6.x86_64 [root@XXa2ow01 bin]# rpm -qa java-1.7.0-openjdk■インストールされたrpmの確認
[root@XXa1mg25 ~]# rpm -qa | grep java java-1.6.0-openjdk-devel-1.6.0.0-1.41.1.10.4.el6.x86_64 tzdata-java-2011l-4.el6.noarch libvirt-java-devel-0.4.7-1.el6.noarch java-1.6.0-openjdk-1.6.0.0-1.41.1.10.4.el6.x86_64 libvirt-java-0.4.7-1.el6.noarch [root@XXa1mg25 ~]#
「SyntaxHighlighter」Bloggerにソースコードをきれいに載せる
Bloggerにソースコードをきれいに載せる「SyntaxHighlighter」
【準備】
以下のコードをBloggerのテンプレートに挿入します.
・Bloggerの管理サイト「デザイン」→「HTMLの編集」
・headタグに必要なScriptとcssを追記します。
※の直前が良い
【ページで使って見よう】 方法1: 方法2:
コードの内容(エスケープ済)結果:
function test() : String
{
return 10;
}
以上です。
SyntaxHighlighter 3.0 の新機能と注意点
【Javascript】SyntaxHighlighter 3.0 の新機能と注意点
SyntaxHightlighter3.xからはautoloaderという機能が実装されました。
これは最初からすべての言語のシンタックスハイライトを読み込むのではなく、必要となった時点で
特定の言語だけを読み込むものです。余計な読み込みが不要になる分、動作が軽くなることが期待できます。
※しかしテストした結果うまく動きません。調査中です。
方法1:
<script type='syntaxhighlighter' class='brush: ***'><![CDATA[コードの内容(エスケープ不要)]]></script>
方法2:
<pre class='brush: ***'>コードの内容(エスケープ済)</pre>
結果:
<pre class="brush: csharp; toolbar:false;" title=" Blogger Source csharp" name="code">
function test() : String
{
return 10;
}
</pre>
以上です。
【ページで使って見よう】
方法1:
<script type='syntaxhighlighter' class='brush: ***'><![CDATA[コードの内容(エスケープ不要)]]></script>
方法2:
<pre class='brush: ***'>コードの内容(エスケープ済)</pre>
結果:
<pre class="brush: csharp; toolbar:false;" title=" Blogger Source csharp" name="code">
function test() : String
{
return 10;
}
</pre>
以上です。
Linux Apatch
[root@XXp1oa01 ~]# chkconfig --level 2345 httpd on [root@XXp1oa01 ~]# chkconfig --list | grep httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@XXp1oa01 ~]# vi /etc/httpd/conf/httpd.conf
[root@XXp1oa01 ~]# cd /etc/httpd [root@XXp1oa01 httpd]# ln -s /data/apdata/log/httpd logs[root@XXp1oa01 httpd]# su - root
[root@XXp1oa01 ~]# apachectl start [root@XXp1oa01 ~]# vi /etc/logrotate.d/httpd [root@XXp1oa01 ~]# apachectl stop [root@XXp1oa01 ~]# service httpd status httpd は停止しています [root@XXp1oa01 ~]# service httpd start httpd を起動中: [ OK ] [root@XXp1oa01 ~]# service httpd status httpd (pid 17044) を実行中...
[root@XXp1oa01 ~]# ps -ef | grep httpd root 2110 1 0 Sep18 ? 00:00:01 /opt/TrendMicro/SProtectLinux/SPLX.httpd/bin/splxhttpd nobody 2163 2110 0 Sep18 ? 00:00:00 /opt/TrendMicro/SProtectLinux/SPLX.httpd/bin/splxhttpd nobody 2164 2110 0 Sep18 ? 00:00:00 /opt/TrendMicro/SProtectLinux/SPLX.httpd/bin/splxhttpd nobody 2165 2110 0 Sep18 ? 00:00:00 /opt/TrendMicro/SProtectLinux/SPLX.httpd/bin/splxhttpd nobody 2166 2110 0 Sep18 ? 00:00:00 /opt/TrendMicro/SProtectLinux/SPLX.httpd/bin/splxhttpd nobody 2167 2110 0 Sep18 ? 00:00:00 /opt/TrendMicro/SProtectLinux/SPLX.httpd/bin/splxhttpd root 17044 1 0 12:38 ? 00:00:00 /usr/sbin/httpd apache 17047 17044 0 12:38 ? 00:00:00 /usr/sbin/httpd apache 17048 17044 0 12:38 ? 00:00:00 /usr/sbin/httpd apache 17049 17044 0 12:38 ? 00:00:00 /usr/sbin/httpd apache 17050 17044 0 12:38 ? 00:00:00 /usr/sbin/httpd apache 17051 17044 0 12:38 ? 00:00:00 /usr/sbin/httpd apache 17052 17044 0 12:38 ? 00:00:00 /usr/sbin/httpd apache 17053 17044 0 12:38 ? 00:00:00 /usr/sbin/httpd apache 17054 17044 0 12:38 ? 00:00:00 /usr/sbin/httpd root 17068 16965 0 12:38 pts/0 00:00:00 grep httpd
[root@XXp1oa01 ~]# cd /data/apdata/log/httpd [root@XXp1oa01 httpd]# less access_log [root@XXp1oa01 httpd]# vi /etc/httpd/conf.d/proxy_ajp.conf
Linux Tomcatの起動停止
◆ 起動方法
# service tomcat6 start◆ 停止方法
# service tomcat6 stop◆ 動作確認方法
# service tomcat6 status tomcat6 (pid 3990) is running... [ OK ]※プロセスIDと実行中の文字を確認する。 ◆プロセスリストからの確認
# ps -ef | grep tomcat6 tomcat 3990 1 1 14:09 ? 00:00:01 /usr/lib/jvm/java/bin/java -Djavax.sql.DataSource. Factory=org.apache.commons.dbcp.BasicDataSourceFactory -classpath :/usr/share/tomcat6/bin/bootstra p.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/u sr/share/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/ca che/tomcat6/temp -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties -Djava .util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start※ tomcat6のjarファイルなどを引数にした java プロセスが動作している事を確認する。 ◆ポートリストからの確認
# netstat -nlp|grep 8080 (表示例) tcp 0 0 :::8080 :::* LISTEN 13611/java※ポート番号"8080"が、"LISTEN"状態であること。 ◆Webページの確認 インターネットブラウザから、http://ホストのIP:8080/ を入力し初期ページの表示を確認する。
2013年9月16日月曜日
ショートカットキー
●編集関係
「編集 > 取り消す」【command + 'Z'】
「編集 > 切り取り」【command + 'X'】
「編集 > コピー」【command + 'C'】
「編集 > ペースト」【command +'V'】
「編集 > ペーストしてスタイルを合わせる」
【(command + option + shift) + 'V'】
段落内での改行(リストで先頭に記号が付かない)
【control + 'return'】
スタイル設定のみをコピー【(command + option) + 'C'】
スタイル設定のみをペースト【(command + option) + 'V'】
ルーラー設定のみをコピー【(command + control) + C】
ルーラー設定のみをペースト【(command + control) + V】
選択した文字サイズを大きく【command + shift + ';'(セミコロン)】
選択した文字サイズを小さく【command + '-'】
2013年9月15日日曜日
Windows/メモリ負荷 わざと負荷をかける
Dim i
Dim iMAX
iMAX = 20000
'5000:空きメモリが50MB減る
'10000:空きメモリが100MB減る
'20000:空きメモリが200MB減る
For i = 1 To iMAX
Call k
Next
MsgBox now & " メモリ " & iMAX & "バイト確保。
このメッセージボックスを閉じるとメモリは開放する。"
Sub k()
Dim x
Set x = CreateObject("Scripting.Dictionary")
Dim y
Set y = CreateObject("Scripting.Dictionary")
Call x.Add("a", y)
Call y.Add("b", x)
' Call x.RemoveAll()
' Call y.RemoveAll()
End Sub
「SyntaxHighlighter」で、ソースコードをきれいに載せる
Bloggerにソースコードをきれいに載せる「SyntaxHighlighter」
【準備】
以下のコードをBloggerのテンプレートに挿入します.
・Bloggerの管理サイト「デザイン」→「HTMLの編集」
・headタグに必要なScriptとcssを追記します。
※の直前が良い
【ページで使って見よう】 方法1: 方法2:
コードの内容(エスケープ済)結果:
function test() : String
{
return 10;
}
【使ってみて】
・Bloggerブログでは、Blogger自身にファイルを保管する機能がないため、保管する代替の方法の1つとしてSitesを作る必要がある。
・FC2ブログではFC2ブログ自身にファイルをUPLOAD保管する機能があり、ブログだけで実現できる
・Biglobeブログも、自身にファイル保管する機能がない。テストしたが他のサイトを参照する形での表示できていない。テンプレートの変更が
可能か今一よく解らない。
・楽天ブログではテンプレートを触れる機能事態がなく、このソース表示機能は使えない。
以上から各ブログにあった投稿記事を使いわかることにする。
以上です。
登録:
コメント (Atom)