久しぶりに
ちょっとバックアップファイル削除用バッチを作成したのでメモ
/::::::::::::::::::::::::::::::::::::::::::/
@echo off
rem ------------------------
rem 概要
rem ------------------------
rem 土日はバックアップしない
rem 月火水木金はバックアップする
rem 月曜は先週分までを残す
rem 3世代(3日分)残す
rem 今日、昨日、一昨日
rem 今日、昨日、一昨日を取得
rem 曜日を取得
rem 先週の月曜の日付を取得
rem 水木金の場合、後ろ2日分を残す
rem 月火の場合、土日を抜いた後ろ2日分を残す
rem 木、金、月を残す
rem ------------------------
rem ===========================
rem 初期設定
rem ===========================
rem Backup File1 PATH
SET BF1=D:\BK\File1\
rem Backup File2 PATH
SET BF2=D:\BK\File2\
rem Backup File Name
SET BAK=*.bak
@REM 日付分割
SET YY=%date:~0,4%
SET MM=%date:~5,2%
SET DD=%date:~8,2%
rem ===========================
rem 今日の日付取得
SET HOY=_%YY%_%MM%_%DD%_
rem 閏年取得
Call :URUTOSHI %YY%
rem 今日の曜日取得
@REM 日付分割
SET Y1=%date:~0,2%
SET Y2=%date:~2,2%
@REM ゼロを補正
IF "0"=="%DD:~0,1%" SET DD=%DD:~1,1%
IF "0"=="%MM:~0,1%" SET MM=%MM:~1,1%
@REM 曜日計算(ツェラーの公式より)
rem 例:2017年 C=20, Y=17と置き換える
rem 2017年1,2月は、2016年13月1日・14月1日とする
rem 公式
rem h={d+[26(m+1)/10]+Y+[Y/4]+Γ} mod 7
rem Γ=5C+[C/4]
rem 1,2月のとき年月を変更
IF 1==%MM% (
SET /A Y2=%Y2%-1
SET /A M1=13
) ELSE IF 2==%MM% (
SET /A Y2=%Y2%-1
SET /A M1=14
) ELSE (
SET /A M1=%MM%
)
SET /A P1=26*(%M1%+1)
SET /A P2=5*%Y1%+(%Y1%/4)
SET /A P3=%P1%/10
SET /A P4=%Y2%/4
SET /A P5=%DD%+%P3%+%Y2%+%P4%+%P2%
SET /A WW=%P5%%%7
rem echo "P1:"%P1%
rem echo "P2:"%P2%
rem echo "P3:"%P3%
rem echo "P4:"%P4%
rem echo "P5:"%P5%
@REM Week s m t w t f s
@REM %WW% 1 2 3 4 5 6 0
rem echo "曜日:"%WW%
@REM ゼロを補正
SET MM=0%MM%
SET MM=%MM:~-2%
rem SET DD=0%DD%
rem SET DD=%DD:~-2%
rem 昨日の日付取得
Call :1DAYAGO
rem 一昨日の日付取得
Call :2DAYAGO
if "%WW%"=="1" goto SUNDAY
if "%WW%"=="2" goto MONDAY
if "%WW%"=="3" goto TUESDAY
if "%WW%"=="4" goto WEDNESDAY
if "%WW%"=="5" goto THURSDAY
if "%WW%"=="6" goto FRIDAY
if "%WW%"=="0" goto SATURDAY
:SUNDAY
rem 金曜日と同じため、何もさせない
rem バックアップをしていない
goto END
:MONDAY
echo "月曜日"
rem 取得FRIDAY
SET /A NUM=3
Call :LASTWEEK %NUM%
rem 取得THURSDAY
SET /A NUM=4
Call :LASTWEEK %NUM%
rem 取得1週間前MONDAY
SET /A NUM=7
Call :LASTWEEK %NUM%
goto END
:TUESDAY
echo "火曜日"
rem 取得FRIDAY
SET /A NUM=4
Call :LASTWEEK %NUM%
rem 取得1週間前MONDAY
SET /A NUM=8
Call :LASTWEEK %NUM%
goto END
:WEDNESDAY
echo "水曜日"
rem 取得1週間前MONDAY
SET /A NUM=9
Call :LASTWEEK %NUM%
goto END
:THURSDAY
echo "木曜日"
rem 取得1週間前MONDAY
SET /A NUM=10
Call :LASTWEEK %NUM%
rem 取得今週MONDAY
SET /A NUM=3
Call :LASTWEEK %NUM%
goto END
:FRIDAY
echo "金曜日"
rem 取得1週間前MONDAY
SET /A NUM=11
Call :LASTWEEK %NUM%
rem 取得今週MONDAY
SET /A NUM=4
Call :LASTWEEK %NUM%
goto END
:SATURDAY
rem 金曜日と同じため、何もさせない
goto END
rem >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
:END
rem echo "今日"%HOY%
rem echo "昨日"%AYE%
rem echo "一昨日"%ANT%
rem echo "木曜"%JUE%
rem echo "金曜"%VIE%
rem echo "今月"%MON%
rem echo "先月"%LUN%
Call :FILE_DEL %BF1%
Call :FILE_DEL %BF2%
rem PAUSE
EXIT
rem :::::::::::::::::::::::::::::::::::::::::::::::::::
rem 関数
rem :::::::::::::::::::::::::::::::::::::::::::::::::::
:1DAYAGO
SET /A NUM=1
Call :LASTWEEK %NUM%
EXIT /B
:2DAYAGO
SET /A NUM=2
Call :LASTWEEK %NUM%
EXIT /B
:LASTWEEK
SET /A SP=%DD% - %1
SET SP=0%SP%
SET SP=%SP:~-2%
IF -==%SP:~0,1% (
rem 先月取得
Call :SENGETSU %1
rem ) ELSE IF 0==%SP:~0,1% (
) ELSE IF 00==%SP% (
rem 先月取得
Call :SENGETSU %1
) ELSE (
IF 1==%1 (
SET AYE=_%YY%_%MM%_%SP%_
) ELSE IF 2==%1 (
SET ANT=_%YY%_%MM%_%SP%_
) ELSE IF 3==%1 (
IF "5"=="%WW%" (
SET MON=_%YY%_%MM%_%SP%_
) ELSE (
SET VIE=_%YY%_%MM%_%SP%_
)
) ELSE IF 4==%1 (
IF "2"=="%WW%" (
SET JUE=_%YY%_%MM%_%SP%_
) ELSE IF "3"=="%WW%" (
SET VIE=_%YY%_%MM%_%SP%_
) ELSE IF "5"=="%WW%" (
SET MON=_%YY%_%MM%_%SP%_
) ELSE IF "6"=="%WW%" (
SET MON=_%YY%_%MM%_%SP%_
)
) ELSE IF %1 GEQ 7 (
IF %1 LEQ 11 (
rem %1==7-11
SET LUN=_%YY%_%MM%_%SP%_
)
)
)
EXIT /B
:SENGETSU
rem Call :SENGETSU %1(NUM)
IF 00==%SP% (SET SP=)
IF %MM%==01 (SET MA=12&& SET /A DA=31%SP%&& SET /A YA=%YY%-1)
IF %MM%==02 (SET MA=01&& SET /A DA=31%SP%&& SET YA=%YY%)
IF %MM%==03 (SET MA=02&& SET /A DA=28%SP%&& SET YA=%YY%&& IF %YMOD%==0 (SET /A DA=29%SP%))
IF %MM%==04 (SET MA=03&& SET /A DA=31%SP%&& SET YA=%YY%)
IF %MM%==05 (SET MA=04&& SET /A DA=30%SP%&& SET YA=%YY%)
IF %MM%==06 (SET MA=05&& SET /A DA=31%SP%&& SET YA=%YY%)
IF %MM%==07 (SET MA=06&& SET /A DA=30%SP%&& SET YA=%YY%)
IF %MM%==08 (SET MA=07&& SET /A DA=31%SP%&& SET YA=%YY%)
IF %MM%==09 (SET MA=08&& SET /A DA=31%SP%&& SET YA=%YY%)
IF %MM%==10 (SET MA=09&& SET /A DA=30%SP%&& SET YA=%YY%)
IF %MM%==11 (SET MA=10&& SET /A DA=31%SP%&& SET YA=%YY%)
IF %MM%==12 (SET MA=11&& SET /A DA=30%SP%&& SET YA=%YY%)
@REM Week s m t w t f s
@REM %WW% 1 2 3 4 5 6 0
IF 1==%1 (
SET AYE=_%YA%_%MA%_%DA%_
) ELSE IF 2==%1 (
SET ANT=_%YA%_%MA%_%DA%_
) ELSE IF 3==%1 (
IF "5"=="%WW%" (
SET MON=_%YA%_%MA%_%DA%_
) ELSE (
SET VIE=_%YA%_%MA%_%DA%_
)
) ELSE IF 4==%1 (
IF "2"=="%WW%" (
SET JUE=_%YA%_%MA%_%DA%_
) ELSE IF "3"=="%WW%" (
SET VIE=_%YA%_%MA%_%DA%_
) ELSE IF "5"=="%WW%" (
SET MON=_%YA%_%MA%_%DA%_
) ELSE IF "6"=="%WW%" (
SET MON=_%YA%_%MA%_%DA%_
)
) ELSE IF %1 GEQ 7 (
IF %1 LEQ 11 (
rem %1==7-11
SET LUN=_%YA%_%MA%_%DA%_
)
)
EXIT /B
:URUTOSHI
rem 閏年(閏年の場合はYMOD=0)
rem 年を4で割った余りをYMODに取得
SET /A YMOD=%1 %% 4
rem 余りがない(4の倍数である)
IF "%YMOD%"=="0" (
rem 年を100で割った余りを取得
SET /A YMOD_100=%1 %% 100
rem 100で割りきれているか
IF !YMOD_100!==0 (
rem 年を400で割った余りを取得
SET /A YMOD_400=%1 %% 400
REM 400で割り切れていない場合(2100年など)
IF NOT !YMOD_400!==0 (
REM 閏年を無に設定
SET /A YMOD=1
)
)
)
EXIT /B
:FILE_DEL
rem 対象ディレクトリを検索後、ファイルを削除
for /r %1 %%A in (%BAK%) do (
rem 今日分を除く
echo %%A | find "%HOY%" >NUL
if errorlevel 1 (
rem 昨日分を除く
echo %%A | find "%AYE%" >NUL
if errorlevel 1 (
rem 一昨日分を除く
echo %%A | find "%ANT%" >NUL
if errorlevel 1 (
rem 先週の月曜を除く
echo %%A | find "%LUN%" >NUL
if errorlevel 1 (
rem 今週の月曜を除く
echo %%A | find "%MON%" >NUL
if errorlevel 1 (
rem 金曜を除く
echo %%A | find "%VIE%" >NUL
if errorlevel 1 (
rem 木曜を除く
echo %%A | find "%JUE%" >NUL
if errorlevel 1 (
rem echo %%A
DEL /Q %%A
)
)
)
)
)
)
)
)
EXIT /B
/::::::::::::::::::::::::::::::::::::::::::/
以上
8.22.2017
3.27.2017
[HP]P2000 G3 Strage Management Utilityのログイン画面が表示されない
HP P2000 G3でStrage Management Utilityのログイン画面が表示されない場合の対応
SSHでログイン可能なコントローラーにログインする
AまたはBのローカルIPでSSHする
ログイン後、下記の内容が表示されるはず
-------------
HP StorageWorks MSA Storage P200 G3
System Name:
System Location:
Version:
#
-------------
例:restart mc a
下記の内容が出力されるので、最後に「yes」を入力し、Enterを押す
-------------
SSHでログイン可能なコントローラーにログインする
AまたはBのローカルIPでSSHする
ログイン後、下記の内容が表示されるはず
-------------
HP StorageWorks MSA Storage P200 G3
System Name:
System Location:
Version:
#
-------------
ログインできたら、再起動したいコントローラーを入力
#restart mc [both or a or b]
例:restart mc a
下記の内容が出力されるので、最後に「yes」を入力し、Enterを押す
-------------
# restart mc a
During the restart process you will briefly lose communication with
the specified Management Controller(S).
Continue?yes
-------------
正常に再起動されると、
Success: コマンドは正常に完了しました。 - MC Aが再起動されました。
yesを入力せずにEnterを押すと、
Info: ユーザーによってMCの再起動が中止されました。
Error: ユーザーによってコマンドが中止されました。
となるので、再度コマンドを入力する
以上
2.07.2017
[VMware]vCenter 6.5 and View Horizon 7.0.3
VMware 6.5とHorizon 7.0.3をインストールしてみました。
設定は、ほぼデフォルト状態です。
海外の人が同じようにインストールしてました。
が、Horizonを利用してSviConfig.exeで証明書の更新ができない障害が1つでたので、
メモみたいなものです。
とりあえずインストール順番を。
OSは、Windows Server 2012 R2 Standard
Active Directory利用
1.Windows update及び.Net Framework4.6.1をインストール。
※View Composer7.0.2から.Net Framework4.6.1以上が必要なため
2.役割と機能の追加ウィザードから、デスクトップエクスペリエンスを追加。
※vSphere Web Clientの表示に必要なため
3.レジストリをいじる!←ここ重要!!ほんとに
※vCenter Server6.5をそのままインストールすると下記のキー権限が上位を継承しない
■HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VMware, Inc.
6.0u2a は、このディレクトリは作成されない
6.5 は、作成されるも「Administrator フルコントロール なし このキーのみ」の1つだけとなります。
なので、先に手動でキーを作成し1つ上(Wow6432Node)と同じアクセス権を付与させておく。
キー(VMware, Inc.)を作成すると下記5つのアクセス権ができる。
「ALL APPLICATION PACKAGES, CREATOR OWNER, SYSTEM, Administrators, Users」
4.vCenter Server6.5のインストール
今回は、組み込みデプロイ(同じホストにPSCも)、組み込みデータベース(VMware Postgres)を利用
5.vSphere Web Clientのログイン設定
ローカルイントラネットにサイトを追加
インターネットのレベルのカスタマイズからファイルのダウンロードを有効にする
6.拡張認証プラグインのダウンロード及びインストール
※AD利用のため
7.vSphere Web ClientのADアカウント利用設定
ログイン後、管理からSSO設定でアイデンティティソースにドメインを追加
システム管理者にAD VC管理者用アカウントを追加
ユーザー及びグループのグループに必要なアカウントを追加
※このあたりは必要に応じて
vCenter Serverはこれで完了!
ここからはHorizonの設定
8.MS SQL Server 2012 express をインストール
※デフォルト状態(笑
9.ODBC64bitの設定
10.VMware Horizon 7 Composerのインストール
※インストール後、再起動
11.VMware Horizon 7 Connection Serverのインストール
12.VMware Horizon 7 Administratorから設定
View構成のサーバから、vCenter Serverの追加
同様に接続サーバを選択し、セキュリティサーバのペアリングパスワードを指定
13.VMware Horizon 7 Security Serverのインストール
14.証明書の更新
接続サーバ及びセキュリティサーバの証明書を更新
mmcからAD証明書認証局、もしくは外部認証局を利用して作成
上記2つは簡単に入替えができる
同様にvCenter Serverの証明書を作成
sviconfig.exeから変更すると、3.レジストリの変更をしてないとエラーになって変更することができない。かつレジストリを見るとアカウント権限が何も入ってない状態になるため、権限を付与することさえできない状態に陥る。
この場合、composerをバックアップ後、アンインストールしてから3のレジストリを変更し、再度インストールしバックアップから復元、もしくは再設定させる。
SviConfig -operation=replacecertificate -delete=false
更新する証明書を選択する
以上でHorizonも完了
VMwareサポートと、この件で何度もやりとりしたけど、
結局、検証を続け答えを出したのは自分。
もう少し、いろいろと検証して回答を早く欲しかったけど。。。
検証したらわかる回答しかこなかったなぁ。。。
海外のサイトも検索しまくってみたけど、ここまでの情報はなかったよ。
Horizon7.0.3のインストールはあったけど、証明書のとこの記載はなかったし。
結構、ハマってHorizonとか.NETをかなり怪しんでたけど、結果
VC6.5のレジストリかよ!みたいな。。。Orz
やっぱり、まだ人柱を待った方がいいのかなぁ。
他にもバグとか出てきそうな予感がする。。。
本番に使っていいのか悩むけどなぁ;
もっと情報出して!
ちなみに、このレジストリは
■HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.
6.0u2aも6.5も同様のアクセス権を持っていました。
以上
設定は、ほぼデフォルト状態です。
海外の人が同じようにインストールしてました。
が、Horizonを利用してSviConfig.exeで証明書の更新ができない障害が1つでたので、
メモみたいなものです。
とりあえずインストール順番を。
OSは、Windows Server 2012 R2 Standard
Active Directory利用
1.Windows update及び.Net Framework4.6.1をインストール。
※View Composer7.0.2から.Net Framework4.6.1以上が必要なため
2.役割と機能の追加ウィザードから、デスクトップエクスペリエンスを追加。
※vSphere Web Clientの表示に必要なため
3.レジストリをいじる!←ここ重要!!ほんとに
※vCenter Server6.5をそのままインストールすると下記のキー権限が上位を継承しない
■HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VMware, Inc.
6.0u2a は、このディレクトリは作成されない
6.5 は、作成されるも「Administrator フルコントロール なし このキーのみ」の1つだけとなります。
なので、先に手動でキーを作成し1つ上(Wow6432Node)と同じアクセス権を付与させておく。
キー(VMware, Inc.)を作成すると下記5つのアクセス権ができる。
「ALL APPLICATION PACKAGES, CREATOR OWNER, SYSTEM, Administrators, Users」
4.vCenter Server6.5のインストール
今回は、組み込みデプロイ(同じホストにPSCも)、組み込みデータベース(VMware Postgres)を利用
5.vSphere Web Clientのログイン設定
ローカルイントラネットにサイトを追加
インターネットのレベルのカスタマイズからファイルのダウンロードを有効にする
6.拡張認証プラグインのダウンロード及びインストール
※AD利用のため
7.vSphere Web ClientのADアカウント利用設定
ログイン後、管理からSSO設定でアイデンティティソースにドメインを追加
システム管理者にAD VC管理者用アカウントを追加
ユーザー及びグループのグループに必要なアカウントを追加
※このあたりは必要に応じて
vCenter Serverはこれで完了!
ここからはHorizonの設定
8.MS SQL Server 2012 express をインストール
※デフォルト状態(笑
9.ODBC64bitの設定
10.VMware Horizon 7 Composerのインストール
※インストール後、再起動
11.VMware Horizon 7 Connection Serverのインストール
12.VMware Horizon 7 Administratorから設定
View構成のサーバから、vCenter Serverの追加
同様に接続サーバを選択し、セキュリティサーバのペアリングパスワードを指定
13.VMware Horizon 7 Security Serverのインストール
14.証明書の更新
接続サーバ及びセキュリティサーバの証明書を更新
mmcからAD証明書認証局、もしくは外部認証局を利用して作成
上記2つは簡単に入替えができる
同様にvCenter Serverの証明書を作成
sviconfig.exeから変更すると、3.レジストリの変更をしてないとエラーになって変更することができない。かつレジストリを見るとアカウント権限が何も入ってない状態になるため、権限を付与することさえできない状態に陥る。
この場合、composerをバックアップ後、アンインストールしてから3のレジストリを変更し、再度インストールしバックアップから復元、もしくは再設定させる。
SviConfig -operation=replacecertificate -delete=false
更新する証明書を選択する
以上でHorizonも完了
VMwareサポートと、この件で何度もやりとりしたけど、
結局、検証を続け答えを出したのは自分。
もう少し、いろいろと検証して回答を早く欲しかったけど。。。
検証したらわかる回答しかこなかったなぁ。。。
海外のサイトも検索しまくってみたけど、ここまでの情報はなかったよ。
Horizon7.0.3のインストールはあったけど、証明書のとこの記載はなかったし。
結構、ハマってHorizonとか.NETをかなり怪しんでたけど、結果
VC6.5のレジストリかよ!みたいな。。。Orz
やっぱり、まだ人柱を待った方がいいのかなぁ。
他にもバグとか出てきそうな予感がする。。。
本番に使っていいのか悩むけどなぁ;
もっと情報出して!
ちなみに、このレジストリは
■HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.
6.0u2aも6.5も同様のアクセス権を持っていました。
以上
登録:
投稿 (Atom)