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
.
我在 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
.