【发布时间】:2016-07-04 07:49:07
【问题描述】:
我想通过 puppet 添加连续的 cron,第一个设置为每 10 分钟一次,第二个在周日晚上 7:00 运行。
puppet 中的第一个 cron 工作正常,但第二个显示以下错误: “错误:无法从远程服务器检索目录:服务器上的错误 400:无效关系:Cron[notifyinactivetargetweekly] { require => File[...weeklynotifyinactivejob.sh] },因为 File[...weeklynotifyinactivejob.sh] 没有t 似乎在目录中 警告:不在失败的目录上使用缓存 错误:无法检索目录;跳过跑步”
以下是清单代码。
cron { 'firstcron':
command => "${scmphptpl::DocRootDir}/firstcron.sh ${scmphptpl::Environment} ${scmphptpl::DocRootDir}",
require => File["${scmdemophp::DocRootDir}/firstcron.sh"],
minute => '*/10',
environment=>["COMPOSER_HOME=${scmphptpl::DocRootDir}",
"SYMFONY_ENV=${scmphptpl::Environment}",
"SYMFONY_DEBUG=${scmphptpl::Debug}",
"PATH=/opt/rh/php55/root/usr/bin:/opt/rh/php55/root/usr/sbin:/usr/local/sbin:/usr/local/bin:/sbin/:/bin/:/usr/sbin/:/usr/bin/"
],
}->
cron { 'weeklynotifyinactivejob':
command => "${scmphptpl::DocRootDir}/weeklynotifyinactivejob.sh ${scmphptpl::Environment} ${scmphptpl::DocRootDir}",
require => File["${scmphptpl::DocRootDir}/weeklynotifyinactivejob.sh"],
minute => '00',
hour => '19',
weekday => 'Sunday',
environment=>["COMPOSER_HOME=${scmphptpl::DocRootDir}",
"SYMFONY_ENV=${scmphptpl::Environment}",
"SYMFONY_DEBUG=${scmphptpl::Debug}",
"PATH=/opt/rh/php55/root/usr/bin:/opt/rh/php55/root/usr/sbin:/usr/local/sbin:/usr/local/bin:/sbin/:/bin/:/usr/sbin/:/usr/bin/"
],
}->
hieradata 包含以下类加载:
classes:
- scmphptpl::myprojectdeploy
myprojectdeploy 的 init.pp 包含:
class scmphptpl {
$DocRootDir = "/app/code"
我检查了文件“/app/code/weeklynotifyinactivejob.sh”是否存在。
更新:
我创建了相同的,但由于某种原因,cron 没有按时间运行:
file { "${DocRootDir}/weeklynotifyinactivejob.sh":
ensure => file,
content => "... whatever's in the file, or use a template/source ...",
}->
cron { 'notifyinactivetargetweekly':
command => "${scmphptpl::DocRootDir}/weeklynotifyinactivejob.sh ${scmphptpl::Environment} ${scmphptpl::DocRootDir}",
require => File["${scmdemophp::DocRootDir}/weeklynotifyinactivejob.sh"],
minute => '*/15',
environment=>["COMPOSER_HOME=${scmphptpl::DocRootDir}",
"SYMFONY_ENV=${scmphptpl::Environment}",
"SYMFONY_DEBUG=${scmphptpl::Debug}",
"PATH=/opt/rh/php55/root/usr/bin:/opt/rh/php55/root/usr/sbin:/usr/local/sbin:/usr/local/bin:/sbin/:/bin/:/usr/sbin/:/usr/bin/"
],
}
但 15 分钟后无法运行,需要帮助
- 傀儡日志说: 文件[/app/code/edlconsole/firstcron.sh]/mode:模式将'0664'改为'0751'
- 但它没有显示相同的 文件[/app/code/edlconsole/weeklynotifyinactivejob.sh]/mode:模式将'0664'更改为'0751'
- 频率变化正在反映出来
【问题讨论】:
-
您的代码 sn-p 未显示 Puppet 报告的文件丢失。你的清单中真的有它吗?如果是这样,请将其包含在问题中。如果它在另一个类中,则显示它的布局方式。
-
hieradata 包含类加载: classes: - scmdemophp::edsconsoledeploy init.pp 包含: class scmdemophp { $DocRootDir = "/app/code/" 我已经验证了文件:/app /code/notifyinactivetargetweekly.sh 存在。