使用Logrotate在每个条目之后截断日志文件或清除最后的'n'条目

我已经创build了一个logrotateconfiguration文件:

touch /etc/logrotate.d/.test 

与conficurations:

 /home/myUser/test*.log{ size 0 hourly rotate 0 nocreate nocompress missingok nocopytruncate ifempty } 

我希望能够在每个条目(块日志文件)或某些日志文件之后清除文件以清除最后的“n”个条目。 实际上,我想继续这样做:

 truncate -s 0 /home/myUser/test*.log 

实际上, nocopytruncate删除了日志文件。 如果我把copytruncate它创build每个日志“test * .log.1”的第二个日志,忽略rotate 0 。 如果我忽略下面的命令不做任何事情,忽略size 0

 echo "hello" >> ~/test1.log cat ~/test1.log //output: hello 

感觉像使用size不起作用。 为了这个工作,我需要执行:

 logrotate -f .test 

难道我做错了什么?

是否有可能做到这一点通过使用logrotate并保持configuration文件以某种方式隐藏(原样)?

至于第二部分清除最后的'n'enries,我不知道我怎么能用logrotate做到这一点。

而不是使用logrotate。

我只是做这样的事情:

 ln -s /dev/null /home/myUser/test.log 

这将导致所有日志logging数据到空设备。

但日志logging是有用的,通常你不应该把它扔掉。 大多数应用程序允许您修改它们login的次数以及login位置。 在将它们扔掉之前,我会使用这些方法。