AWS
1-2
AZ-dは使用してない?
1-4 ネットワークサービス
VPCの主なサービス
- VPC
- サブネット
- ルートテーブル
- IGW
- IGWをアタッチしたVPC=パブリックサブネットだが、どうやって確認する?
- Elastic IP
- エンドポイント
- NATゲートウェイ
- ピアリング接続
- 異なるAWSアカウント間でも接続可能。実際やってる?
セキュリティの主なサービス
ELB
- CLB/ALB/NLBのパラメータを確認したい。
- Connection Drainingって使ってる?
- 外部ELB=internet-facing、内部ELB=Internal、スキームで確認
- クロスゾーン負荷分散って使用してる?
Auto Scaling
使用してない?
Route53
- パブリックホストゾーンとプライベートホストゾーンがあって、プライベートホストゾーンは.local
Direct Connect
使用してない?
仮想プライベートゲートウェイ
使用してない?
CloudFront
- esaを見れば理解できるかも。ディストリビューション、オリジン、エッジロケーション
- オリジンとしてS3を指定する事が多い気がする。
- SSL証明書はどうやって差し替えるんだろう?
- 署名付きURL/カスタムエラーページ/地域制限/ストリーミング配信らへんのパラメータ深掘り
1-5 コンピューティングサービス
EMR
- 大量データを迅速に処理するWebサービス
ECS
使用してない?
VM Import/Export
使用してない?
1-6 ストレージサービス
S3
- 署名付きURL:一定時間アクセスを許可するURL
リンク集
JP1/Base
17.2 JP1/Baseが出力するJP1イベント一覧 : JP1/Base 運用ガイド
17.3.1 イベントID別JP1イベントの詳細 : JP1/Base 運用ガイド
付録A.1 ファイルおよびディレクトリ一覧(Windowsの場合) : JP1/Base 運用ガイド
付録B.1 プロセス一覧(Windowsの場合) : JP1/Base 運用ガイド
PFM
1.1 PFM - Web Consoleの画面一覧 : JP1/Performance Management リファレンス
コマンド一覧 : JP1/Performance Management リファレンス
NBU
http://itdoc.hitachi.co.jp/manuals/oem/veritas/JP1V115VERINBU01800/NetBackup81_RefGuide_Commands.PDF
VBS
VBScript 基礎文法最速マスター - CX's VBScript Diary - VBScript グループ
→基本構文
分類別VBScript関数一覧|VBScript関数リファレンス
逆引きVBScript関数一覧|VBScript関数リファレンス
Linux
;接続先ホスト HOSTADDR = 'xxx' ;ユーザ名 USERNAME = 'xxx' ;パスワード設定 PASSWORD = 'xxx' ;接続コマンド作成 COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD ;接続 connect COMMAND ;================================================ ;ログファイルに付ける日付を取得 getdate DATE '%Y%m%d-%H%M%S' ;出力するログファイル名を生成 LOGNAME = "C:\Users\w-imori\Desktop\" strconcat LOGNAME HOSTADDR strconcat LOGNAME "_" strconcat LOGNAME DATE strconcat LOGNAME ".log" ;================================================ ;ログファイル保存 wait '$' logopen LOGNAME 0 1 sendln "" wait '$' sendln "hostname" wait '$' sendln "uname -a" '''
2018年度メモ
regEx.Pattern = "(_\d{4}-\d{2}-\d{2}|\d{4}-\d{2}-\d{2}_|_\d*|\d*_)"
これで
"_9999-99-99"
"9999-99-99_"
"_99999999"
"99999999_"
全部変換できる
"_?"表記にしようかと思ったけど”_99999_”なパターンは除外した
VBSの正規表現表記は知らないが、
他の言語とマッチパターンの書き方が同じならこうかな?
前後の_と、以下のような場合のパターン。
20180706
20180706111111
2018-07-06
07-06-2018
18-07-06
ReplaceTest("_?([0-9]{8,14}|[0-9]{2,4}-[0-9]{2}-[0-9]{2,4})_?", "")
VBS
For Each「①TEMP側のフォルダ」から1つずつ「★TEMP側のファイル」を取得する ’「★TEMP側のファイル名」の数字箇所を置換して「②TEMP側の置換したファイル名」を取得する TempRepFileName = ReplaceTest() '「★TEMP側のフォルダ」のTEMP部分を置換して「③ACLAS側のフォルダ」を取得する AclasParFolder = Replace() '「③ACLAS側のフォルダ」から1つずつ「★ACLAS側のファイル」を取得する For Each '「★ACLAS側のファイル名」の数字箇所を置換して「④ACLAS側の置換したファイル名」を取得する AclasRepFileName = ReplaceTest() '「②TEMP側の置換したファイル名」と「④ACLAS側の置換したファイル名」が同じ場合は下記処理を実行 If TempRepFileName = AclasRepFileName Then '「★TEMP側のファイルのタイムスタンプ」より「★ACLAS側のファイルのタイムスタンプ」が古い場合は下記処理を実行 If Temp.タイムスタンプ > Aclas.タイムスタンプThen '「★TEMP側のファイル」を「③ACLAS側のフォルダ」へコピーする 'ログ出力 '「★ACLAS側のファイル」を削除する 'ログ出力 End If ’「⑤コピーフラグ」を「1」にする CopyFlg = 1 End If Next ’「⑤コピーフラグ」が「0」の場合は下記処理を実行 If CopyFlg = 0 Then '「★TEMP側のファイル」を「③ACLAS側のフォルダ」へコピーする 'ログ出力 End If ’「⑤コピーフラグ」を「0」にする Next
Option Explicit
Dim strFormattedDate
Dim ScriptBin
Dim ScriptTmp
Dim fso
Dim Exec
Dim strFilePathFrom ' コピー対象ファイル
Dim strFilePathTo ' コピー先フォルダ名
Dim ScriptFullName
strFormattedDate = Replace(Replace(Replace(Now(), "/", ""), ":", ""), " ", "")
ScriptFullName = WScript.ScriptFullName
ScriptBin = "C:\script\bin"
ScriptTmp = "C:\script\tmp"
Set fso = CreateObject("Scripting.FileSystemObject")
'■ファイル作成
Set Exec = fso.CreateTextFile(ScriptTmp & "\test.txt",True)
'■ファイルコピー
strFilePathFrom = ScriptFullName
strFilePathTo = ScriptTmp & "\" & strFormattedDate & ".txt"
'▼ファイルコピー(上書き/ファイル名指定)
Call fso.CopyFile(strFilePathFrom, strFilePathTo)
Wscript.Echo("エラー番号 " & Err.Number & " " & Err.Description)
Err.Clear
'▼ファイルコピー(上書きしない/ファイル名指定)
On Error Resume Next
Call fso.CopyFile(strFilePathFrom, strFilePathTo, False)
Wscript.Echo("エラー番号 " & Err.Number & " " & Err.Description)
Err.Clear
'▼ファイルコピー(ワイルドカード指定)
strFilePathFrom = ScriptBin & "\" & "*.vbs"
strFilePathTo = ScriptTmp
Call fso.CopyFile(strFilePathFrom, strFilePathTo)
Wscript.Echo("エラー番号 " & Err.Number & " " & Err.Description)
Err.Clear
'■フォルダコピー
'Call fso.CopyFile(strFilePathFrom, strFilePathTo, False)
Dim oShell, oExec, oText, cmdResult ,objFile,M_rowCount,TMP_LISTFILE,resultLine
TMP_LISTFILE = "C:\Users\usre\Desktop\test.txt"
Set oShell = WScript.CreateObject("WScript.Shell")
Set oFso = CreateObject("Scripting.FileSystemObject")
Set oText = oFso.CreateTextFile( TMP_LISTFILE, True )
Set oExec = oShell.Exec( "cmd /c dir" )
' コマンドの標準出力を読み込む
cmdResult = oExec.StdOut.ReadAll()
' TMPリストファイルへ書き出す
oText.WriteLine( cmdResult )
oText.Close
Set objFile = oFso.OpenTextFile( TMP_LISTFILE )
M_rowCount = 1
Do Until objFile.AtEndOfStream = true
resultLine = objFile.ReadLine
if M_rowCount >= 2 then
BkupID = Left( resultLine , 15)
WScript.Echo BkupID
'消す
End if
M_rowCount = M_rowCount + 1
Loop
objFile.Close
oFso.DeleteFile TMP_LISTFILE , True
'オブジェクトとの関連付けを解除
Set oText = Nothing
Set oExec = Nothing
Set oShell = Nothing
Set oFso = Nothing
Set objFile = Nothing
crontab差し替え
以下コマンドを実行して、バックアップフォルダを作成する mkdir -m 777 /tmp/20180527 mkdir -m 777 /tmp/`date +%Y%m%d` 以下コマンドを実行して、カレントディレクトリを移動する cd /tmp/20180527 以下コマンドを実行して、バックアップを取得する cp -p /etc/crontab crontab.20180527 以下コマンドを実行して、ファイル内容を編集する(置換の場合) sed -i -e "s/^\* \* \* \* \* user-name command to be executed$//g" /etc/crontab 以下コマンドを実行して、ファイル内容を編集する(行削除の場合) sed -i -e "/^ \* \* \* \* \* user-name command to be executed$/d" /etc/crontab 以下コマンドを実行して、ファイル内容を比較する diff /etc/crontab crontab.20180527 【結果】 16c16 < * * * * * user-name command to be executed --- > 以下コマンドを実行して、定義ファイルを差し戻す cp -p crontab.20180527 /etc/crontab 「cp: overwrite `/etc/hosts'? 」と表示されるので「y」を入力して、Enterを押下する
定義ファイル差し替え(Linux)
以下コマンドを実行して、バックアップフォルダを作成する mkdir -m 777 /tmp/20180525 mkdir -m 777 /tmp/`date +%Y%m%d` 作業端末のWinSCPを実行する 下記ファイルをアップロードする 送信元:C:\tmp\hosts 送信先:/tmp/20180525 以下コマンドを実行して、カレントディレクトリを移動する cd /tmp/20180525 以下コマンドを実行して、バックアップを取得する cp -p /etc/hosts hosts.20180525 以下コマンドを実行して、パーミッションと所有者の設定を変更する chmod 644 hosts chown root:root hosts 以下コマンドを実行して、パーミッションと所有者の設定確認する ll 以下コマンドを実行して、ファイル内容を比較する diff /etc/hosts hosts 【結果】 > 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 以下コマンドを実行して、定義ファイルを差し替える cp -p hosts /etc 以下コマンドを実行して、ファイル内容を比較する diff /etc/hosts hosts.20180525 【結果】 < 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 以下コマンドを実行して、定義ファイルを差し戻す cp -p hosts.20180525 /etc/hosts 「cp: overwrite `/etc/hosts'? 」と表示されるので「y」を入力して、Enterを押下する
定義ファイル追記(Linux)
以下コマンドを実行して、バックアップフォルダを作成する mkdir -m 777 /tmp/20180526 mkdir -m 777 /tmp/`date +%Y%m%d` 以下コマンドを実行して、カレントディレクトリを移動する cd /tmp/20180526 以下コマンドを実行して、バックアップを取得する cp -p /etc/hosts hosts.20180526 以下コマンドを実行して、定義ファイルに追記する echo "127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4" >> /etc/hosts echo "127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4" >> /etc/hosts 以下コマンドを実行して、ファイル内容を比較する diff /etc/hosts hosts.20180526 【結果】 < 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 < 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 以下コマンドを実行して、定義ファイルを差し戻す cp -p hosts.20180526 /etc/hosts 「cp: overwrite `/etc/hosts'? 」と表示されるので「y」を入力して、Enterを押下する
定義ファイル追記(Windows)
エクスプローラーを起動して、「C:\Windows\System32\drivers\etc」に移動する 「hosts」をコピーして、名前を「hosts.yyyymmdd」とする コマンドプロンプトを起動する 以下コマンドを実行して、カレントディレクトリを移動する cd C:\Windows\System32\drivers\etc 以下コマンドを実行して、定義ファイルに追記する echo "127.0.0.1 localhost" >> hosts echo "127.0.0.1 localhost" >> hosts 以下コマンドを実行して、ファイル内容を比較する fc hosts hosts.20180526 【結果】 ***** hosts "127.0.0.1 localhost" "127.0.0.1 localhost" ***** HOSTS.20180526 ***** 作業前に取得したバックアップファイル「hosts.20180526」の名前を「hosts」に変更して定義ファイルを差し戻す
バッチ
for
(オプション無し) ディレクトリ内を対象にとる /d ディレクトリ(フォルダ)名を対象にとる /r ディレクトリ名及びそのサブディレクトリ内(そのフォルダの中のファイル名やフォルダ名)を対象にとる /l 値を指定して代入する /f テキストファイル内の文章に対してトークンを取り出して代入する
ファイル名とファイルの中身を出力
@echo off for %%i in (*.txt) do ( echo ファイル名:%%i type %%i|more ) pause
@echo off for /d %%i in (*.txt) do ( echo ファイル名:%%i type %%i|more ) pause
for /r c:\ %%i in (*.txt) do type %%i|more
for /f オプション
for /f "トークンオプション" %%i in (処理の対象) do コマンド トークンオプション一覧 tokens= 何番目のトークンを指定するか? delims= トークンの区切り文字を指定 eol= この文字から始まる行を無視 skip= 先頭から指定された行数、スキップする。 usebackq コマンドの出力を対象にする
for /f "tokens=1,3"
@echo off for /f "tokens=1,3" %%i in (%~dp0\hogehoge.txt) do echo %%i %%j
for /f "tokens=1,3 delims=:"
@echo off for /f "tokens=1,3 delims=:" %%i in (%~dp0\hogehoge.txt) do echo %%i %%j
for /f "tokens=1,3 eol=a"
@echo off for /f "tokens=1,3 eol=a" %%i in (%~dp0\hogehoge.txt) do echo %%i %%j
for /f "tokens=1,3 skip=2"
@echo off for /f "tokens=1,3 skip=2" %%i in (%~dp0\hogehoge.txt) do echo %%i %%j
for /f "tokens=1,5"
@echo off SET OUTPUT=%~dp0\aaa.txt tasklist > %OUTPUT% for /f "tokens=1,5" %%i in (%OUTPUT%) do echo %%i %%j
VBA
TeraTerm接続マクロ
Private Sub CommandButton1_Click()
Dim rc As VbMsgBoxResult
rc = MsgBox("Cドライブ直下にttl接続ディレクトリを作成します。", vbYesNo)
If rc = vbYes Then
Else
Exit Sub
End If
'最終行取得
Dim LastRow As Integer
LastRow = Range("B6").End(xlDown).row
Dim row As Integer
Dim FileNumber As Integer
Dim newDirectory As String
If Dir("C:\ttl接続", vbDirectory) = "" Then
newDirectory = "C:\ttl接続"
MkDir newDirectory
Else
newDirectory = "C:\ttl接続_" & Format(Now, "yyyymmddHHMMss")
MkDir newDirectory
End If
FileNumber = FreeFile
Dim fileNm As String
For row = 6 To LastRow
'<番号>.<環境>_<ホスト名>_<IPアドレス>_<ユーザ名>
fileNm = Cells(row, "B").Value & "." & Cells(row, "C").Value & "_" & Cells(row, "D").Value & "_" & Cells(row, "E").Value & "_" & Cells(row, "F").Value
Open newDirectory & "\" & fileNm & ".ttl" For Append As #FileNumber
Print #FileNumber, "hostname='" & Cells(row, "E").Value & "'"
Print #FileNumber, "msg=hostname"
Print #FileNumber, "strconcat msg ':22 /ssh /auth=password /user=" & Cells(row, "F").Value & " /passwd=" & Cells(row, "G").Value & "'"
Print #FileNumber, "Connect msg"
Print #FileNumber, "getdir PWD"
Print #FileNumber, "logfile=PWD"
Print #FileNumber, "strconcat logfile '\'"
Print #FileNumber, "strconcat logfile '" & fileNm & "'"
Print #FileNumber, "strconcat logfile '.log'"
Print #FileNumber, "logopen logfile 0 1"
'==============================================================
Print #FileNumber, "wait '#'"
Print #FileNumber, "sendln 'date;hostname'"
Close #FileNumber
Next
MsgBox newDirectory & "ディレクトリの生成が完了しました。"
Dim ShellObj
Set ShellObj = CreateObject("Shell.Application")
ShellObj.Explore newDirectory & "\"
End Sub
LFで出力
Private Sub CommandButton1_Click()
Dim i As Integer
Open "C:\Users\usre\Desktop\マクロ\aaa\aaa.txt" For Output As #1
Print #1, "ABC" & vbLf;
Print #1, "ABC" & vbLf;
Close #1
End Sub
複数テキストファイル内容入力
Private Sub CommandButton1_Click()
' Dim 対象ディレクトリ As String: 対象ディレクトリ = ThisWorkbook.Path
' Dim strFileName As String: strFileName = Dir(対象ディレクトリ & "\*.txt")
'
' Do Until strFileName = ""
' FNo = FreeFile
' Dim buf As String
'
' Open 対象ディレクトリ & "\" & strFileName For Input As #FNo
' Do Until EOF(1)
' Line Input #FNo, buf
' n = n + 1
' Cells(n, 1) = buf
' Loop
' Close #FNo
'
' strFileName = Dir()
' Loop
Dim buf As String, Target As String
Dim 対象ディレクトリ As String: 対象ディレクトリ = ThisWorkbook.Path
Dim strFileName As String: strFileName = Dir(対象ディレクトリ & "\*.txt")
Do Until strFileName = ""
With CreateObject("ADODB.Stream")
.Charset = "UTF-8"
.Open
.LoadFromFile 対象ディレクトリ & "\" & strFileName
buf = .ReadText
.Close
tmp1 = Split(buf, vbLf)
For i = 0 To UBound(tmp1)
tmp2 = Split(tmp1(i), ",")
j = j + 1
Cells(j, 1) = tmp2
Next i
strFileName = Dir()
End With
Loop
End Sub
Private Sub CommandButton3_Click()
Workbooks.Add
newbk = ActiveWorkbook.Name
'Workbooks(newbk).Activate
With ThisWorkbook.Sheets("差分")
For i = 1 To 5
If .Cells(16, i) >= 1 Then
.Rows("19:19").AutoFilter
.Range("$A$19:$E$22").AutoFilter Field:=i, Criteria1:="=1", Operator:=xlOr, Criteria2:="=3"
If i <> 1 Then
.Range(Columns(1), Columns(i - 1)).EntireColumn.Hidden = True
End If
If i <> 5 Then
.Range(Columns(i + 1), Columns(5)).EntireColumn.Hidden = True
End If
.Range("A17:H22").Copy Worksheets(1).Cells(Worksheets(1).Cells(10000, 1).End(xlUp).Row + 1, 1)
.Columns("A:F").EntireColumn.Hidden = False
End If
Next i
End With
Dim ファイル名 As String: ファイル名 = "差分_" & Format(Now, "yyyymmddhhmmss")
Workbooks(newbk).SaveAs ThisWorkbook.Path & "\" & ファイル名
Workbooks(ファイル名 & ".xlsx").Close
End Sub
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub CommandButton1_Click()
Dim cmdStr1 As String, cmdStr2 As String
cmdStr1 = "Get-Item ""F:\VBA\02\aaa\111.txt"" | Select-Object -ExpandProperty LastWriteTime"
cmdStr2 = "Get-Item ""F:\VBA\02\bbb\111.txt"" | Select-Object -ExpandProperty LastWriteTime"
Dim a1 As String, a2 As String
a1 = ExecCommand(cmdStr1)
a2 = ExecCommand(cmdStr2)
If a1 <> a2 Then
MsgBox "NG"
Else: MsgBox "OK"
End If
End Sub
Private Function ExecCommand(command As String) As String
Dim oExec As Object
Set oExec = CreateObject("Wscript.shell").Exec("powershell -NoLogo -ExecutionPolicy RemoteSigned -Command " & command)
oExec.StdIn.Close
Do While oExec.Status = 0
Sleep 100
Loop
ExecCommand = oExec.StdOut.ReadAll
End Function
PowerShell
for1.ps1
$str=""
for($i=0; $i -lt 3; $i++)
{
$str += "a"
}
$str
foreach1.ps1
$str=""
foreach($i in(0..2))
{
$str += "a"
}
$str
if.ps1
$a = 1
if($a -eq 2){
Write-Host "$a is 2 "
}elseif($a -eq 1){
Write-Host "$a is 1"
}
switch1.ps1
$a = 6
switch($a) {
5 {Write-Host "$a is 5" ;break}
6 {Write-Host "$a is 6" ;break}
7 {Write-Host "$a is 7" ;break}
8 {Write-Host "$a is 8" ;break}
default {Write-Host "$a is other.value"}
}
switch2.ps1
$str="abc"
switch -wildcard($str){
"d" {Write-Host $str"はdを含みます"}
"a*" {Write-Host $str"はaから始まる文字列を含みます"}
}
which1.ps1
$str = ""
$i=0
while($i -lt 3)
{
$str += "a"
$i++
}
$str
which2.ps1
$str = ""
$i=0
do
{
$str += "a"
$i++
}
while($i -lt 3)
$str
which3.ps1
$str=""
$i=0
while($true)
{
$str += "a"
$i++
if($i -gt 2){break}
}
$str