小编Tho*_*hle的帖子

为什么 logrotate 会在关闭文件之前对其进行压缩

我正在使用 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 包附带的未修改文件,所以我怀疑它有问题。我在轮换其他日志方面没有问题。

任何想法可能会发生什么?

logs logrotate mysql

4
推荐指数
1
解决办法
3307
查看次数

为什么 du 的子目录值总和不等于总数?

我正在尝试用于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 的目录总和之间的差异的来源是什么?

linux command-line disk-usage

3
推荐指数
1
解决办法
3523
查看次数

标签 统计

command-line ×1

disk-usage ×1

linux ×1

logrotate ×1

logs ×1

mysql ×1