管理时区

I try to take one day at a time, but sometimes several days attack at once.

— Ashleigh Brilliant

你迟早会遭遇由于服务器的时区不同而带来的各种奇怪问题。 为了避免此类问题的发生,确保所有服务器都使用相同的时区是明智之举。 无论这些服务器所处的地理位置在何处,都应该使用相同的时区(GMT 是合乎逻辑的选择)。

除非服务器是由太阳能供电的,否则我认为没有任何理由不关心服务器的时区设置。

操作步骤

  1. 使用如下内容创建 /etc/puppet/modules/admin/manifests/gmt.pp 文件:

    class admin::gmt
    {
        file { "/etc/localtime":
            ensure => link,
            target => "/usr/share/zoneinfo/GMT",
        }
    }
    
  2. 在所有的节点中添加如下代码:

    include admin::gmt
    
  3. 运行 Puppet:

    # puppet agent --test
    info: Retrieving plugin
    info: Caching catalog for cookbook.bitfieldconsulting.com
    info: Applying configuration version '1304955158'
    
    info: FileBucket adding /etc/localtime as {md5}02b73b0cf0d96e2f75c
    ae56b178bf58e
    
    info: /Stage[main]/Admin::Gmt/File[/etc/localtime]: Filebucketed /
    etc/localtime to puppet with sum 02b73b0cf0d96e2f75cae56b178bf58e
    
    notice: /Stage[main]/Admin::Gmt/File[/etc/localtime]/ensure:
    ensure changed 'file' to 'link'
    
    notice: Finished catalog run in 1.94 seconds
    

更多用法

如果你想要使用其他的时区,请在 /usr/share/zoneinfo 中选择相应的文件,例如:US/Eastern。