没有GUI,纯命令行检测磁盘大文件大小及从大到小排序;很实用;
I. 主理人序
再大的服务器,用久了磁盘剩余空间也会变得越来越少
;何况我们大多数买的服务器本身存储空间有限,所以抽时间进行一次磁盘清理
,将一些大文件删一删是很有必要的;(完全可以实现脚本自动化清理)
II. 本文章实用性说明
1.检测Linux服务器的磁盘文件大小;
2.重点清理项目;
III. 实用命令
0.查看硬盘剩余空间
$ df -h #查看当前硬盘剩余空间并以GB单位表示
1.查找大文件
$ find . -type f -size +100M #查找当前目录100M以上的文件
2.对查找结果按照文件大小做一个排序
$ find . -type f -size +10M -print0 | xargs -0 du -h | sort -nr
3.查找当前目录下前20的大目录
$ du -hm --max-depth=2 | sort -nr | head -20
*这个命令我常用,先列出20来个大占用的文件夹,一一击破;
IV. 重点清理
Mysql 日志
手动清理日志文件
mysql binlog;我的日志竟然有7Gb... /usr/local/mysql/var
一般存放位置;
1.登陆进入mysql,并使用 show binary logs;
查看日志文件。
[email protected]:/home/# mysql -u root -p
Enter password: #输入数据库密码
mysql> show binary logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.001368 | 3175578 |
| mysql-bin.001369 | 177599 |
+------------------+-----------+
2 rows in set (0.00 sec)
2.查看正在使用的日志文件:show master status;
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.001369 | 348563 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
如上,当前正在使用日志文件为mysql-bin.001369
;那么等下删除日志文件应该排除掉该文件;
3.删除日志文件的命令:purge binary logs to 'mysql-bin.001369';
mysql> purge binary logs to 'mysql-bin.001369';
Query OK, 0 rows affected (0.02 sec)
mysql> show binary logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.001369 | 949552 |
+------------------+-----------+
1 row in set (0.00 sec)
删除完毕;
定时清理日志文件
1.主理人自己已经设置其不产生日志;
2.编辑 mysql 的配置文件,设置expire_logs_days(mysql定时删除日志文件);
mysql> exit
Bye
[email protected]:/home/# vim /etc/my.cnf
编辑 /etc/my.cnf
文件;找到 expire_logs_days = 10
,这里设置的自动删除时间为10天;
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
expire_logs_days = 10
改好,保存;重启 MySQL 即可;
[email protected]:/home/# lnmp mysql restart
或可编辑 mysql 的配置文件,注释掉以下两项即可不再产生日志,保存重启MySQL;
##注释 log-bin=mysql-bin
##注释 binlog_format=mixed
参考1:Mysql 日志爆满,删除日志文件,定时清理日志
参考2:Mysql之binlog日志说明及利用binlog日志恢复数据操作记录
Nginx 日志
手动清理日志文件
nginx log;
以前博客被CC攻击/压测的时候每天产生6 7 8GB的日志/home/wwwlogs
我存放位置;
找到相关日志,直接使用命令 ls
查看有多少日志;
[email protected]:/home/wwwlogs# ls
nginx_error.log
GeoLiteCity.dat limbopro.xyz.log
access.log
使用 > + 文件名
清理日志文件;
[email protected]:/home/wwwlogs# > limbopro.xyz.log
[email protected]:/home/wwwlogs# > access.log
定时清理日志文件
使用 crontab 定时清理日志文件;
[email protected]:/home/wwwlogs# crontab -e
添加一条,设置每日凌晨零点自动清空日志:
0 0 1,15 * * > /home/wwwlogs/limbopro.xyz.log; #每月1和15号自动清理日志
0 0 1,15 * * > /home/wwwlogs/access.log; #每月1和15号自动清理日志
保存,退出,重启 Crontab;
[email protected]:/home/wwwlogs# service cron restart
[email protected]:/home/wwwlogs# service cron reload
*日志文件具体位置,以实际为准;本方法比较粗暴;
参考1:Linux crontab命令及其用法;
V. 相关知识
LINUX的磁盘管理du命令详解
du(disk usage)命令
可以计算文件或目录所占的磁盘空间。没有指定任何选项时,它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作目录所占总快数。
DU命令用途
du(disk usage)命令可以计算文件或目录所占的磁盘空间。没有指定任何选项时,它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作目录所占总快数。
找出大文件
磁盘空间被耗尽的时候,免不了要清理一下,比如说/home目录太大,就可以使用下面命令看看到底是谁:
du -s /home/* | sort -nr #/home目录检测
版权属于:毒奶
联系我们: https://limbopro.xyz/6.html
毒奶搜索: https://limbopro.xyz/search.html点击展开探索更多资讯频道: https://t.me/limboprossr
春潮频道: https://t.me/limboprogarden
推特账号: https://twitter.com/limboprossr
爱菊账号: https://www.instagram.com/limboprossr/
油管账号 : http://bit.ly/2VJcz7o/
机场推荐: https://limbopro.xyz/865.html
上网必会: https://limbopro.xyz/archives/2910.html
广告屏蔽: https://limbopro.xyz/archives/adguard.html
实用工具: https://limbopro.xyz/category/tools/
网站优化: https://limbopro.xyz/category/Typecho/
美图欣赏: https://limbopro.xyz/category/instagram/
开车专栏: https://limbopro.xyz/category/NSFW/
博客镜像: https://limbopro.github.io(每日0点更新)本文链接:https://limbopro.xyz/archives/2713.html
本文采用 CC BY-NC-SA 4.0 许可协议 ,转载和引用时请注意遵守协议!