我正在将厨师超市的logrotate食谱添加到现有的食谱中。我想logrotate_app生成一个包含' postrotate'脚本。
这就是我的食谱中的内容:
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"之后立即在食谱中添加两行的语法是什么? ?
/usr/bin/killall -HUP MyApp > /dev/null 2>&1 || true
/usr/bin/killall -HUP MyApp > /dev/null 2>&1 || true
答案 0 :(得分:0)
试试这个:
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
当前可能的&#34;脚本列表&#34;属性可在此处获取:https://github.com/stevendanna/logrotate/blob/1f0132fe74e68ff86a087521b6968aa77155c97d/libraries/logrotate_config.rb#L33
但是,我不明白为什么要将HUP信号发送到同一个进程两次。
答案 1 :(得分:0)
有几个使用postrotate指令的示例here,因此您可以尝试添加以下内容:
postrotate [
'/usr/bin/killall -HUP myapp > /dev/null 2>&1 || true',
'/usr/bin/killall -HUP myapp > /dev/null 2>&1 || true',
]