【发布时间】:2021-11-18 20:30:15
【问题描述】:
我在 /etc/logrotate.d/mikrotik :
/var/log/mikrotik.log {
rotate 2
daily
compress
dateext
dateyesterday
dateformat .%Y-%m-%d
postrotate
#/usr/sbin/invoke-rc.d syslog-ng reload >/dev/null
rsync -avH /var/log/mikrotik*.gz /backup/logs/mikrotik/
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
每天都会创建 mikrotik.log.YYYY-MM-DD.gz 文件 问题是 postrotate 中的 rsync 不会复制最后一个文件。比如2021年9月25日,/var/log中有这样的文件:
-rw-r ----- 1 root adm 37837 Sep 24 23:49 mikrotik.log. 2021-09-24.gz
-rw-r ----- 1 root adm 36980 Sep 25 23:55 mikrotik.log. 2021-09-25.gz
并且在 /backup/logs/mikrotik/ 中只有:
-rw-r ----- 1 root adm 35495 Sep 23 00:00 mikrotik.log. 2021-09-22.gz
-rw-r ----- 1 root adm 36842 Sep 23 23:58 mikrotik.log. 2021-09-23.gz
-rw-r ----- 1 root adm 37837 Sep 24 23:49 mikrotik.log. 2021-09-24.gz
从 9 月 25 日 23:55 开始没有文件 mikrotik.log.2021-09-25.gz 直到下一次轮换才会被复制。 如何使今天打包的文件被 postrotate 复制?
【问题讨论】:
标签: logrotate