Chef infra 在Chef中配置logrotate
我正在将厨师超市的菜谱添加到现有的菜谱中。我希望logrotate_应用程序生成包含“postrotate”脚本的配置Chef infra 在Chef中配置logrotate,chef-infra,Chef Infra,我正在将厨师超市的菜谱添加到现有的菜谱中。我希望logrotate_应用程序生成包含“postrotate”脚本的配置 这是我食谱中的内容: logrotate_app 'myapp' do path '/var/log/glusterfs/*.log' options ['missingok', 'compress', 'delaycompress', 'notifempty','postrotate'] frequency 'daily' rotate 7 create
这是我食谱中的内容:
logrotate_app 'myapp' do
path '/var/log/glusterfs/*.log'
options ['missingok', 'compress', 'delaycompress', 'notifempty','postrotate']
frequency 'daily'
rotate 7
create '644 root adm'
end
这是我当前配置的结果:
"/var/log/myapp/*.log" {
daily
create 644 root adm
rotate 7
missingok
compress
delaycompress
notifempty
postrotate
}
我希望最终输出如下:
/var/log/myapp/*.log {
sharedscripts
daily
rotate 7
missingok
compress
delaycompress
notifempty
postrotate
/usr/bin/killall -HUP myapp > /dev/null 2>&1 || true
/usr/bin/killall -HUP myapp > /dev/null 2>&1 || true
endscript
}
在配方中“postrotate”之后的两行下面添加什么语法试试这个:
logrotate_app 'myapp' do
path '/var/log/glusterfs/*.log'
options ['missingok', 'compress', 'delaycompress', 'notifempty', 'postrotate']
postrotate <<-EOF
/usr/bin/killall -HUP myapp > /dev/null 2>&1 || true
/usr/bin/killall -HUP myapp > /dev/null 2>&1 || true
EOF
frequency 'daily'
rotate 7
create '644 root adm'
end
logrotate\u应用程序“我的应用程序”do
路径'/var/log/glusterfs/*.log'
选项['missingok','compress','delaycompress','notifempty','postrotate']
后旋转&1 | |真
/usr/bin/killall-HUP myapp>/dev/null 2>&1 | | true
EOF
“每日”频率
轮换7次
创建“644根adm”
结束
此处提供了可能的“脚本”属性的当前列表:
但是,我不明白为什么要将HUP信号发送到同一进程两次。有几个使用postrotate指令的示例,因此您可以尝试添加以下内容:
postrotate [
'/usr/bin/killall -HUP myapp > /dev/null 2>&1 || true',
'/usr/bin/killall -HUP myapp > /dev/null 2>&1 || true',
]
谢谢罗兰,成功了。现在我正在为我的食谱中的lograte_应用程序编写chefspec测试。我的rspec测试失败,因为当我添加
postrotate时,这里是我的chef规范出错它“创建适当的logrotate配置”确实需要(chef_run)。要启用_logrotate_应用程序('glusterfs')。使用(创建:'644 root adm',频率:'daily',路径:['/var/log/glusterfs/*.log','/var/log/glusterfs/bricks/*.log'],旋转:7个选项:%w(missingok compress delaycompress notifempty),postrotatepostrotate
postrotate [
'/usr/bin/killall -HUP myapp > /dev/null 2>&1 || true',
'/usr/bin/killall -HUP myapp > /dev/null 2>&1 || true',
]