如何使用Windows中的puppet使用自定义事实创建文件夹名称?

时间:2016-04-06 07:01:26

标签: windows timestamp puppet mkdir facter

我写了一个自定义事实来在windows中创建当前日期和时间。当我通知它时,这些事实返回当前日期和时间。

例如:

  notify{"test time":
       message=>"$::windows_time",
         }

上述代码的输出是' 05-04-2016-194645'

但是当我尝试使用自定义事实创建文件夹时,我无法创建带有时间戳的文件夹。我的代码如下。

    exec{"current date time folder":
    cwd=>"${prodequ_backup_loc}",
    command=>'C:\Windows\System32\cmd.exe /c "md $::windows_time"',
         }

以上代码使用" $ {windows_time}"创建了一个文件夹名称。

我创建日期和时间戳的事实如下:

    require 'facter'
          #
          ##Default for non-Linux nodes
          Facter.add(:windows_time) do
          setcode do
           Facter::Util::Resolution.exec('C:\\Windows\\System32\\cmd.exe /c "C:\\time1.bat"')
          end
          end
          #For Linux Nodes
           Facter.add(:windows_time) do
           confine :kernel  => :linux
           setcode do
           nil
           end
           end

非常感谢任何帮助。