執行df -h查看自己的數據磁盤到達97%
使用du -h --max-depth=1 依次查看數據占用較大的文件一直定位到那個文件
清理記錄
1.mysql慢查詢日志
# mv slow.log slow.log.bak #備份重命名慢查詢日志
# mysqladmin -uusername -ppwd flush-logs #命令執行生成新的慢查詢日志文件,這個命令不需要重啟mysql
2mysql清理二進制日志mysql-bin.000001
查看文件大小ls -l --block-size=G
登錄mysql執行mysql> reset master;
reset master功能說明:刪除所有的binlog日志文件,並將日志索引文件清空,重新開始所有新的日志文件。用於第一次進行搭建主從庫時,進行主庫binlog初始化工作;
如果做了主從MySQL的注意別輕易執行reset master;
3.清理其它占用磁盤大的日志文件
rm -rf 清理你看不順眼的文件;(ps:root用戶別輕易使用)
4.使用du -h --max-depth=1查看所有文件總大小跟df -h查出來的不一致
也就是df -h查出來比如40G系統盤消耗了100%容量, 但是du -h --max-depth=1查出來總計只有15G
明明刪了幾個文件,磁盤占用還是高達90%。
解決辦法用 lsof | grep deleted命令查看是否還有進程在使用那些刪了的文件,沒有lsof就安裝yum -y install lsof
如圖可以看到,我已經rm -rf 刪了的nginx日志,用lsof | grep deleted查出還是被占用沒有完全釋放,文件被刪除,而進程還活着,因而造成還占用空間的現象
我的磁盤占用是92%; 當我重啟nginx,也就是釋放了占用的進程,現在磁盤占用是5%;成功解決!
因為我的是nginx,所以我重啟nginx就可以了,如果是其它的占用可以根據lsof列出的進程號,kill這些進程后,空間就釋放出來了