我正在使用 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