直接 rm 日志文件,写它的进程还握着旧句柄,空间不会释放。
正确做法是清空内容而不是删文件,句柄和 inode 都不变。
截断用重定向到文件或 truncate -s 0,两种都立即生效。
要留一份再清,就先拷走再截断,别用 mv 腾位置。
# 清空(保留 inode,推荐)
: > /var/log/app/app.log
# 或
truncate -s 0 /var/log/app/app.log
# 先备份再清空
cp /var/log/app/app.log /backup/app-$(date +%F).log && : > /var/log/app/app.log
# 长期方案:logrotate 里配 copytruncate,避免重生文件
THE END






暂无评论内容