chefからバッチ操作し、タイムゾーンを変更する

chefからバッチ操作し、タイムゾーンを変更する

chefからwindowsのバッチコマンドを実行し、タイムゾーンを変更する方法です。

前提条件

  • windows版chefクライアントが対象マシンにインストール済みであること
  • WIndows Server 2012

レシピに下記にように記述します。
タイムゾーン変更とNTP参照先も同時にセットするレシピです。

batch "NTP Setting" do
    code <<-EOH
        tzutil /s "Tokyo Standard Time"
        w32tm /config /update /manualpeerlist:<NTPサーバ> /syncfromflags:manual
    EOH
end

この状態だと、W32Timeが起動していないため、エラーで終了してしまいます。
そのため、レシピに下記のように変更します。

service "W32Time" do
    action [ :enable, :start ]
end

batch "NTP Setting" do
    code <<-EOH
        tzutil /s "Tokyo Standard Time"
        w32tm /config /update /manualpeerlist:<NTPサーバ名> /syncfromflags:manual
    EOH
end

あとはchef-soloなり、knif-solo等で、レシピを実行することで変更されます。
AWSのWindows ServerのタイムゾーンがUTCで起動してくるため、上記レシピで流し混んでJSTに切り替えるようにしました。

Chefって便利ですね!PowerShellやバッチもとっても便利です。

Windowsカテゴリの最新記事


Warning: Use of undefined constant XML - assumed 'XML' (this will throw an Error in a future version of PHP) in /home/add-smart/intracker.net/public_html/blog/wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1048
%d人のブロガーが「いいね」をつけました。