Linux磁盘空间不足处理方法
2017-09-17 17:53
369 查看
维护Linux服务器正常使用需要经常删除Linux系统运行产生的系统日志和业务环境产生的debug日志文件、安装包等。本文主要描述如何通过脚本实现清理业务环境产生的
debug日志文件和上传或备份的打包文件。原因是手工查找删除不同业务环境下的debug日志和安装包文件比较费时。
根据上述结果可知,/dev/sdb1磁盘空间即将达到100%,对应的挂载点为/home目录。进入/home目录进行查找删除操作即可 。
2、利用du命令逐级查找占用磁盘空间较大的文件或者文件夹。
3、删除查找到的无用的安装包、备份包文件或者长期未清理的debug日志。如果查找确认之后发现并无占用较大空间的文件,需确认该文件系统挂载点/home目录下是否已被
使用并且存在占用空间较大的文件。使用umout /home卸载挂载点查看。
4、重新执行df命令查看/dev/sdb1磁盘空间使用率是否降低。如果磁盘空间释放大小与已删除文件大小不一致,参看FAQ处理。
(2)假设业务运行产生的临时文件生成路径位于$HOME/temp目录,文件名为'用户名_[debug|run|warn].tmp'或者'用户名_[debug|run|warn].tmp.n',n为数字,常为备份名。
(3)查找Linux服务器超过指定大小(如100M)的安装包、备份包文件,供用户人工判断是否可以删除。
(4)不能误删系统文件,特别是oracle用户的重做日志文件(redoN.log)。
View Code
debug日志文件和上传或备份的打包文件。原因是手工查找删除不同业务环境下的debug日志和安装包文件比较费时。
问题现象
df -h命令查看磁盘空间使用率即将达到100%问题分析
文件占用或者已删除文件由于使用进程占用导致未释放。通常是第一种原因。问题解决
1、利用df命令确定将磁盘空间即将耗尽的文件系统对应的目录。linux~ # df 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda2 146294492 28244432 110498708 21% / /dev/sda1 1019208 62360 904240 7% /boot tmpfs 1032204 0 1032204 0% /dev/shm /dev/sdb1 2884284108 2884284108 0 8% /home
根据上述结果可知,/dev/sdb1磁盘空间即将达到100%,对应的挂载点为/home目录。进入/home目录进行查找删除操作即可 。
2、利用du命令逐级查找占用磁盘空间较大的文件或者文件夹。
linux~ # du -sm /home
3、删除查找到的无用的安装包、备份包文件或者长期未清理的debug日志。如果查找确认之后发现并无占用较大空间的文件,需确认该文件系统挂载点/home目录下是否已被
使用并且存在占用空间较大的文件。使用umout /home卸载挂载点查看。
4、重新执行df命令查看/dev/sdb1磁盘空间使用率是否降低。如果磁盘空间释放大小与已删除文件大小不一致,参看FAQ处理。
FAQs
1、如何实现自动删除服务器垃圾文件?需求描述
(1)假设业务运行产生的日志文件生成路径位于$HOME/log目录下,文件名为'用户名_[debug|run|warn].log'或者'用户名_[debug|run|warn].log.n',n为数字,常为备份名。(2)假设业务运行产生的临时文件生成路径位于$HOME/temp目录,文件名为'用户名_[debug|run|warn].tmp'或者'用户名_[debug|run|warn].tmp.n',n为数字,常为备份名。
(3)查找Linux服务器超过指定大小(如100M)的安装包、备份包文件,供用户人工判断是否可以删除。
(4)不能误删系统文件,特别是oracle用户的重做日志文件(redoN.log)。
代码实现
#!/bin/bash SEARCH_DIR_LIST="search_directory.txt" SEARCH_TEMP_FILES="search_temp_files.txt" SEARCH_FILES="search_files.txt" file_size="100M" if [ $(whoami) != 'root' ];then printf "Please Use root to execute\n" exit 1 fi rm "${SEARCH_DIR_LIST}" "${SEARCH_TEMP_FILES}" "${SEARCH_FILES}" &> /dev/null find / -maxdepth 2 \( -path '/proc' -o -path '/var' \) -prune -o -type d -print | grep '^/.*/'> "${SEARCH_DIR_LIST}" printf "Begin search larger than ${file_size}M files,wait a moment....\n" while read line do ( find ${line} -type f -size +${file_size} -print >> "${SEARCH_TEMP_FILES}" ) & done < "${SEARCH_DIR_LIST}" wait printf "End search larger than ${file_size}M files.\n" printf "Begin Compute each files detail size,please wait...\n" while read line do awk -v filename=${line} -v filesize=$(stat -c %s ${line}) 'BEGIN{print filesize/1024/1024"M",filename}' >> ${SEARCH_FILES} done < "${SEARCH_TEMP_FILES}" wait printf "End Compute each files detail size.\n" printf "Please Check below files..\n" cat ${SEARCH_FILES} | sort -rn rm "${SEARCH_DIR_LIST}" "${SEARCH_TEMP_FILES}" printf "Script execute end!\n"
View Code
相关文章推荐
- linux磁盘空间用满的处理方法
- linux磁盘空间不足 和 挂载新硬盘(含磁盘格式化、分区)方法
- 磁盘空间不足怎么办,linux磁盘清理方法
- linux磁盘空间不足怎么办,磁盘清理方法
- linux磁盘空间用满的处理方法
- 内存或磁盘空间不足,Microsoft Office Excel 无法再次打开或保存任何文档 的处理方法
- 一个Linux虚拟机上Oracle数据库磁盘空间不足的解决办法
- [转载]XP向windows 7传输文件时系统提示“服务器存储空间不足,无法处理此命令”故障的解决方法
- VMware vm linux 虚拟机 硬盘空间不足 磁盘最大大小调整 方案
- 在Linux操作系统下查看磁盘空间的方法
- linux磁盘空间不足,但是使用df却发现磁盘空间至少有一半的空间没有使用
- SQL 6.5在备份时磁盘空间不足,备份中断后SQL数据库挂起,数据库修复方法
- Linux查看磁盘空间的好方法
- Linux磁盘空间短时间被未知资源大量占用情况处理
- linux查看磁盘空间的指令方法
- 【Linux】/home磁盘空间不足
- 在Linux操作系统下查看磁盘空间的方法
- linux查看磁盘空间的指令方法
- sqlserver错误"试图扩大物理文件时,MODIFY FILE 遇到操作系统错误 112(磁盘空间不足。)。"处理
- linux下oracle表空间导致磁盘空间不足