Puppet:无法找到 cron 类

Puppet:无法找到 cron 类

我正在使用 Puppet 3.4.3。

我正在尝试使用 cron 类型来管理 cron 作业(如此处所述:https://docs.puppetlabs.com/references/latest/type.html)。但是,每当我尝试运行我的配置时:

错误:无法从远程服务器检索目录:服务器上出现错误 400:无法在节点应用程序上找到应用程序的类 cron

据我所知,文档是引用和内置类型,我不需要包含任何模块或下载任何额外内容? cron 类型的最低版本是否高于 3.4.3?

这不是我个人配置的问题,因为即使文档页面上给出的 logrotate 示例也会失败并显示相同的错误消息。

任何帮助,将不胜感激!

编辑:这是我正在使用的代码:

cron { laravelschedule:
        命令 => “php /var/www/sociaspire/artisan 计划:运行 >> /dev/null 2>&1”
        用户 => www-数据,
        小时 => '*',
        分钟 => '*',
        月 => '*',
        月 => '*',
        周 => '*',  
}

编辑:输出自ls -ltr

共 36
-rw-r--r-- 1 root root 7357 8月 20 10:37 sociaspire-testing.pp
-rw-r--r-- 1 root root 6481 八月 20 10:37 sociaspire.pp
-rw-r--r-- 1 root root 3128 八月 20 10:37 sociaspire-lb.pp
-rw-r--r-- 1 root root 3074 八月 20 10:37 sociaspire-db.pp
-rw-r--r-- 1 root root 8195 9月 10 13:23 sociaspire-standalone.pp

输出自tree -f


│ ./classes
│ └── ./classes/sociaspire-standalone.pp
└── ./site.pp

答案1

我发现的解决方案是使用 cron 模块(具体来说:https://forge.puppetlabs.com/torrancew/cron)。

语法非常相似,但这个模块似乎对我有用,而 Puppet 的内置类型却没有。

答案2

这是问题所在,但我无法在注释中写出整个代码,使用 puppet-lint 你可以查看你的代码风格是否正确

这是检查您的代码风格的结果。

puppet-lint /home/user01/programming/puppet/bad.pp
WARNING: double quoted string containing no variables on line 2
ERROR: trailing whitespace found on line 8
WARNING: line has more than 80 characters on line 2
WARNING: indentation of => is not properly aligned on line 2
WARNING: indentation of => is not properly aligned on line 3
WARNING: indentation of => is not properly aligned on line 4
WARNING: indentation of => is not properly aligned on line 5
WARNING: indentation of => is not properly aligned on line 6
WARNING: indentation of => is not properly aligned on line 8
WARNING: unquoted resource title on line 1

如上所示,在第一行,资源标题需要被引用。

您可以使用现在修复您的代码,puppet-lint -f /home/user01/programming/puppet/bad.pp如果您再次运行,puppet-lint /home/user01/programming/puppet/bad.pp您将看不到任何错误和警告

查看 puppetlabs 文档https://docs.puppetlabs.com/references/latest/type.html#cron,其中资源标题的示例cron provider用单引号引用,如果资源标题中没有变量,则week需要将属性weekday

相关内容