我已经创建了日志轮换,但它似乎不起作用,因为它创建了大量文件,如“smartfox.log.2020-01-05-07.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1”
此外,rotate 3 和 maxsize 100M 也不起作用,因为我看到超过 3 天且超过 100M 的文件。
如果没错,以下日志轮换应该删除超过 3 天的文件并仅保留 100M 日志文件:
admin@ip-172-20-44-75:/etc/logrotate.d$ cat /etc/logrotate.d/smartfox-qa
/var/log/cog-qa/smartfox-qa/*{
rotate 3
copytruncate
missingok
notifempty
delaycompress
maxsize 100M
daily
create 0644 root root
}
admin@ip-172-20-44-75:/var/log/cog-qa/smartfox-qa$ ls -lthr
-rw-r--r-- 1 root root 0 Jan 6 03:18 smartfox.log.2020-01-05-13.1.1.1.1.1.1.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 655M Jan 6 03:18 smartfox.log.2020-01-05-14.1.1.1.1.1.1.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 0 Jan 6 03:18 smartfox.log.2020-01-05-14.1.1.1.1.1.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 656M Jan 6 03:18 smartfox.log.2020-01-05-15.1.1.1.1.1.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 0 Jan 6 03:18 smartfox.log.2020-01-05-15.1.1.1.1.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 653M Jan 6 03:18 smartfox.log.2020-01-05-16.1.1.1.1.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 0 Jan 6 03:18 smartfox.log.2020-01-05-16.1.1.1.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 661M Jan 6 03:18 smartfox.log.2020-01-05-17.1.1.1.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 0 Jan 6 03:18 smartfox.log.2020-01-05-17.1.1.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 660M Jan 6 03:19 smartfox.log.2020-01-05-18.1.1.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 0 Jan 6 03:19 smartfox.log.2020-01-05-18.1.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 665M Jan 6 03:19 smartfox.log.2020-01-05-19.1.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 0 Jan 6 03:19 smartfox.log.2020-01-05-19.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 658M Jan 6 03:19 smartfox.log.2020-01-05-20.1.1.1.1.1.1.1
-rw-r--r-- 1 root root 0 Jan 6 03:19 smartfox.log.2020-01-05-20.1.1.1.1.1.1
-rw-r--r-- 1 root root 675M Jan 6 03:19 smartfox.log.2020-01-05-21.1.1.1.1.1.1
-rw-r--r-- 1 root root 0 Jan 6 03:19 smartfox.log.2020-01-05-21.1.1.1.1.1
-rw-r--r-- 1 root root 656M Jan 6 03:19 smartfox.log.2020-01-05-22.1.1.1.1.1
-rw-r--r-- 1 root root 0 Jan 6 03:20 smartfox.log.2020-01-05-22.1.1.1.1
-rw-r--r-- 1 root root 660M Jan 6 03:20 smartfox.log.2020-01-05-23.1.1.1.1
-rw-r--r-- 1 root root 0 Jan 6 03:20 smartfox.log.2020-01-05-23.1.1.1
-rw-r--r-- 1 root root 649M Jan 6 03:20 smartfox.log.2020-01-06-00.1.1.1
-rw-r--r-- 1 root root 0 Jan 6 03:20 smartfox.log.2020-01-06-00.1.1
-rw-r--r-- 1 root root 662M Jan 6 03:20 smartfox.log.2020-01-06-01.1.1
-rw-r--r-- 1 root root 0 Jan 6 03:20 smartfox.log.2020-01-06-01.1
-rw-r--r-- 1 root root 661M Jan 6 03:20 smartfox.log.2020-01-06-02.1
-rw-r--r-- 1 root root 0 Jan 6 03:20 smartfox.log.2020-01-06-02
请告诉我我错在哪里!
答案1
看来您不仅旋转了您可能想要旋转的文件(smartfox.log.????-??-??-??),而且还旋转了 smartfox-qa 文件夹中的所有文件。如果是这样,您应该更正通配符表达式
/var/log/cog-qa/smartfox-qa/smartfox.log.????-??-??-?? {
rotate 3
copytruncate
missingok
notifempty
delaycompress
maxsize 100M
daily
create 0644 root root
}
请注意,man logrotate 明确警告不要使用通配符
请谨慎使用通配符。如果您指定 *,logrotate 将轮换所有文件,包括之前轮换过的文件。解决此问题的方法是使用 olddir 指令或更精确的通配符(例如 *.log)。