我使用以下sed命令来追加行:
rotate 1
size 1k
Run Code Online (Sandbox Code Playgroud)
在missok这个词之后
小美学问题是"旋转1"不像其他线那样对齐
# sed '/missingok/a rotate 1\n size 1k' /etc/logrotate.d/httpd
/var/log/httpd/*log {
missingok
rotate 1
size 1k
notifempty
sharedscripts
delaycompress
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}
Run Code Online (Sandbox Code Playgroud)
有人建议如何在missingok字符串下缩进字符串"rotate 1"?
原始文件
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
delaycompress
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}
Run Code Online (Sandbox Code Playgroud)
显然,第一批追逐者必须逃脱
sed '/missingok/a\\trotate 1\n\tsize 1k' /etc/logrotate.d/httpd
Run Code Online (Sandbox Code Playgroud)
只需使用即可\逃离空间。
sed '/missingok/a\ \ \ \ \ \ rotate 1\n\ \ \ \ size 1k' /etc/logrotate.d/httpd
Run Code Online (Sandbox Code Playgroud)
在实际修改之前一定要进行测试。当它与您的 bash/shell 配合良好时,添加-i以就地编辑文件:)
ps 和之前的答案差不多。正如问题所描述的,logrotate conf 文件使用空格缩进,因此这个答案。不要为是否使用空格或制表符而烦恼。