linux磁盘满了如何清理

说实话,Linux系统满盘空间这事儿,我当年第一次碰上时挺头疼的。
不过搞明白了套路,其实也就那样。
下面我根据自己踩过的坑和帮人处理过的案例,跟你唠唠具体怎么操作。

第一步看盘是基本功。
我以前有个服务器,半夜突然邮件通知满盘,一查发现是/var/log这个分区。
用df -h命令的时候,一定要盯着Use%这一列,别光看总容量。
有个兄弟单位因为挂载了几个小盘,结果把大分区给忽略,最后系统卡得像老式拨号上网。
我建议先查所有分区,但重点关注那些Use%红得发紫的。

第二步找大文件,du -sh/是个好工具。
我处理过一次Nginx缓存爆盘的案例,发现是某个过期版本的上传文件,直接du发现/var/cache/nginx占了近5 G。
不过du有时候会误导,比如某个目录虽然du显示小,但里面全是硬链接,实际占用可能得手动一个个查。
这时候用du -h --max-depth=1 就靠谱多了,像剥洋葱一样一层层看。

第三步清理是关键。
清理文件前我有个习惯,先跑个find / -type f -size +1 G -exec ls -lh {} \;查下超过1 G的单个文件。
有个案例是Python生成的临时文件没清理,直接占满了tmp分区。
我建议分类处理: 1 . 日志文件:用logrotate轮转是正经事,直接删的话得确认文件名没打错。
我有个客户删了系统日志导致服务无法排错,最后花了半天时间重建 2 . 软件缓存:apt clean确实能救急,但有个朋友清理完缓存,结果编译软件时发现包没了,哭笑不得 3 . 旧内核:我建议保留2 -3 个就行,太多占地方。
用dpkg --purge $(dpkg -l | grep linux-image | grep -v $(uname -r))这种命令更稳妥
第四步处理被占用的文件特别有意思。
我处理过一次僵尸文件,ln -s /dev/null /path/to/file居然救活了系统。
用lsof的时候要会看输出,特别是COMMAND和PID那一列。
有个案例是某个cron任务在删除文件时出bug,结果产生了大量deleted状态的文件,最后用ps aux | grep 找到所有相关进程。

补充说下,清理前备份是老生常谈了。
我有个朋友直接rm -rf /var/log,结果发现备份是去年的,急得直跳脚。
定期维护很重要,比如设置crontab每天清理tmp分区,或者用find /tmp -mtime +7 -exec rm -rf {} \;这种命令。
还有,系统日志别硬删,用logrotate配合/var/log/syslog.conf效果最好。

说到底,清理盘空间就像家里大扫除,边边角角都要查到。
我见过最夸张的是某大厂服务器,居然在文件系统根目录下放了十几T的临时文件,最后只能租云盘当临时仓库。
这种极端情况不常见,但日常维护还是要细致点。

linux服务器磁盘满了怎么办

使用df -h确认分区,如/home/zhang满1 00%。
用du -sh 定位大目录或find /home/zhang -size +4 00M查找大文件。
删除无用文件,如旧日志/home/zhang/tomcat/logs/。

若磁盘满但无大文件,用lsof | grep deleted查进程,用kill -9 终止。

其他分区有空间,用ln -s创建软链接,或迁移应用,或LVM用vgextend/lvextend扩容。

备份数据。
低峰期操作。
定期监控。

linux系统fdisk -l 和df -h 命令显示磁盘空间大小不等

fdisk分区这事儿啊...说实话挺麻烦的。
root用户执行fdisk /dev/sda,然后按n,输入p,一路回车回车回车。
等出现提示符,再输入w,回车。
这步完了,再执行partprobe,然后mkfs.ext3 /dev/sda4 ,一直回车。
得有耐心,等它搞定。

步骤都完了,再mkdir /data1 ,然后mount /dev/sda4 /data1 最后执行df -h,就能看见新分区了。
要改/etc/fstab,最后加入一行:/dev/sda4 /data1 ext3 noatime,acl,user_xattr 1 2 退出保存。

/dev/sdb也是一样步骤。
你那硬盘7 5 0G,说实话,真没用的多。