puppet 安装的 cron 作业在哪里?

Where is cron job installed by puppet located?

我在 Ubuntu 14.04 系统上使用 puppet 创建了一个 cron 作业:

cron { 'packages':
  command => 'puppet apply /usr/lib/app/puppet-jobs/packages.pp',
  user    => 'root',
  hour    => 10,
  minute  => 25,
}

我的一个系统用 puppet 更新后,我可以通过 运行 sudo puppet resource cron 查看 cron。

然而,如果我查看 /etc/crontab,我没有看到任何引用我的 .pp 文件的内容。

我还用 cat /etc/cron.*/* | grep .pp 查看了每个 cron.d 文件,但没有返回任何内容。

如何找到 puppet 创建的实际 cron 文件?

我们可以检查 cron 的 Puppet 提供程序代码,以查看 Puppet 在应用 cron 资源时正在执行的实际命令。 cron 提供程序使用 crontab 目录的相关源代码位于:https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/cron/crontab.rb#L260-L269.

由于您是 运行 Ubuntu 14.04,您的 osfamily 事实解析为 Debian,crontab 目录的返回值将是:/var/spool/cron/crontabs.