如何使用Chef配方添加cron作业条目

时间:2015-11-17 05:30:23

标签: shell cron chef chef-recipe cookbook

所有

我有一个shell脚本,它创建日志的tar文件。我把食谱中的食谱嵌入了食谱中。

配方如下:

cookbook_file "/var/create-tar.sh" do
source "create-tar.sh"
mode 0755
end

execute "create tar files of logs older than 1 day" do
command "sh /var/create-tar.sh"
end

执行资源正在执行配方。我想通过在cronjob中输入一个条目来在cron中安排这个shell脚本。

crontab条目应为:

*/2 * * * * sh -x /var/test.sh  > /var/log/backup 2>&1

如何在食谱中添加此条目?

1 个答案:

答案 0 :(得分:13)

Cron Jobs in Chef

Chef包含一个用于设置Cron作业的资源 - 它被称为cron

cron 'test' do
  minute '*/2'
  command 'sh -x /var/test.sh  > /var/log/backup 2>&1'
end

但你的最终目标是什么?记录轮换?

使用Chef和Logrotate记录旋转

有一个工具,名为logrotate,还有一个厨师食谱:logrotate

这为您提供了一个资源,允许您指定要旋转的日志以及选项:

logrotate_app 'test' do
  path      '/var/log/test/*.log'
  frequency 'daily'
  rotate    30
end

以防你想要实现这样的事情; - )