在清理 Docker 日志时,truncate -s 0 /var/lib/docker.log 和 echo > /var/lib/docker.log 都可以达到清空日志文件的效果,但它们的工作原理和使用场景有细微的区别:


1. truncate -s 0 /var/lib/docker.log
2. echo > /var/lib/docker.log
特性 | truncate -s 0 | echo > |
|---|---|---|
文件大小调整 | 将文件大小直接设为 0 | 清空文件内容(可能改变 inode) |
文件 inode | 不变 | 可能改变 |
文件描述符影响 | 无影响 | 可能导致失效 |
对运行中的程序的安全性 | 高 | 较低 |
如果日志文件正在被实时写入,推荐使用 truncate -s 0 方法,以确保服务的稳定性。
lsblk 或 blkid。growpart 可以轻松扩展分区大小。resize2fs 或 xfs_growfs。truncate -s 0,以避免服务受到影响。这些方法结合使用,可以安全高效地完成磁盘扩容和日志清理操作,为系统稳定运行提供保障。希望本文对你有所帮助! 😊