运维说线上某台服务器磁盘占用过高警告了, 让清理一波. 于是参考下网上的文章处理了, 记录一下
参考 : https://www.jianshu.com/p/1c22dcb17a2e
- 进入主机后切换使用 root 账户
- 使用
df -h
查看磁盘使用情况. - cd 进入根目录 /
- 使用
du -h --max-depth=1
和du -h --max-depth=2 | sort -nr | head -12
命令获取当前目录下各目录占用情况 - 进入占用大的目录清理文件
Tips:
使用 rm -rf
命令时, 删除多个文件可以使用下面通配符 *
号的方式做规则匹配. 如下:
`rm -rf /logs/2021-01-*.log`
针对某个特大文件, 如 stdout.log
, 使用命令:
cat /dev/null > stdout.log
一键清空文件内容而不删除文件本身.
使用 crontab
定时器也可以设置定时清理, 例如:
crontab -e
(第一次打开会提示选择编辑器, 选择一个自己习惯的即可, 例如/usr/bin/vim.basic
)- 然后按 i 在编辑模式下使用
crontab
表达式跟操作命令, 例如:
0 16 * * * cd /work/logs/xxx && cat /dev/null > stdout.log
wq
保存即可