AWS

1-2

AZ-dは使用してない?

1-4 ネットワークサービス

VPCの主なサービス

セキュリティの主なサービス

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

ECS

使用してない?

VM Import/Export

使用してない?

1-6 ストレージサービス

S3

  • 署名付きURL:一定時間アクセスを許可するURL

リンク集

JP1/Base

目次 : JP1/Base 運用ガイド

コマンド一覧 : JP1/Base 運用ガイド

定義ファイル一覧 : JP1/Base 運用ガイド

17.1.2 拡張属性 : JP1/Base 運用ガイド

17.2 JP1/Baseが出力するJP1イベント一覧 : JP1/Base 運用ガイド

17.3.1 イベントID別JP1イベントの詳細 : JP1/Base 運用ガイド

18.2 ログ情報の種類 : 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関数リファレンス

VBScript Tips

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