我正在使用 logrotate 来旋转 mysql 输出。当 cron 运行 logrotate 时,我经常收到一封包含以下内容的电子邮件:
error: Compressing program wrote following message to stderr when compressing log /var/log/mysql/mysqld.err-20150408:
gzip: stdin: file size changed while zipping
Run Code Online (Sandbox Code Playgroud)
表明在 logrotate 移动文件并对其调用 gzip 之后,该文件仍然打开并且 mysql 正在写入它。这是我的 mysql logrotate 配置:
/var/log/mysql/mysql.err /var/log/mysql/mysql.log /var/log/mysql/mysqld.err {
monthly
create 660 mysql mysql
notifempty
size 5M
sharedscripts
missingok
postrotate
[ -f /var/run/mysqld/mysqld.pid ] && /bin/kill -HUP `cat /var/run/mysqld/mysqld.pid`
endscript
}
Run Code Online (Sandbox Code Playgroud)
这是 Gentoo 的 mysql 包附带的未修改文件,所以我怀疑它有问题。我在轮换其他日志方面没有问题。
任何想法可能会发生什么?
我正在尝试用于du
调查目录中的磁盘使用情况,如下所示:
du -hd1 | sort -rh
Run Code Online (Sandbox Code Playgroud)
这给了我一个如下所示的列表
61G .
7.9G ./A
5.1G ./B
2.7G ./.C
1.6G ./.D
1.2G ./.E
1.2G ./F
850M ./.G
724M ./H
666M ./I
281M ./J
249M ./.K
150M ./.L
Run Code Online (Sandbox Code Playgroud)
列表的其余部分总和不到 1GB,并且该目录中没有直接包含大文件:
ls -Slh
total 1.8M
...
Run Code Online (Sandbox Code Playgroud)
总 61GB 和不到 25GB 的目录总和之间的差异的来源是什么?