如何使用 Chef 配方添加 cron 作业条目
How to add a cron job entry using Chef recipe
全部,
我有一个 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
如何将此条目添加到我的食谱中?
Chef 中的 Cron 作业
Chef 包含用于设置 Cron 作业的资源 - 名为 cron。
cron 'test' do
minute '*/2'
command 'sh -x /var/test.sh > /var/log/backup 2>&1'
end
但是你的最终目标是什么?日志轮转?
使用 Chef 和 Logrotate 进行日志轮换
有一个工具可以做到这一点,叫做 logrotate and there is a Chef cookbook for that: logrotate。
这为您提供了一个资源,允许您指定要轮换哪些日志以及使用哪些选项:
logrotate_app 'test' do
path '/var/log/test/*.log'
frequency 'daily'
rotate 30
end
以防万一你想实现这样的事情;-)
全部,
我有一个 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
如何将此条目添加到我的食谱中?
Chef 中的 Cron 作业
Chef 包含用于设置 Cron 作业的资源 - 名为 cron。
cron 'test' do
minute '*/2'
command 'sh -x /var/test.sh > /var/log/backup 2>&1'
end
但是你的最终目标是什么?日志轮转?
使用 Chef 和 Logrotate 进行日志轮换
有一个工具可以做到这一点,叫做 logrotate and there is a Chef cookbook for that: logrotate。
这为您提供了一个资源,允许您指定要轮换哪些日志以及使用哪些选项:
logrotate_app 'test' do
path '/var/log/test/*.log'
frequency 'daily'
rotate 30
end
以防万一你想实现这样的事情;-)