linux主机通常会部署多个应用,应用程序运行过程中会产生sys.log或者nohup.out这样的日志文件。要是平时没有定期清理日志文件的习惯,时间一长那些日志文件就会不断的占用磁盘空间,严重的话总有一天会撑爆磁盘空间。当磁盘空间使用达到100%的话,会导致应用无法使用。
下面是在生产主机上面进行的磁盘空间使用情况检查过程以及日志文件清理实录。
首先,查看磁盘分区使用情况,命令为 df -h
如下图所示,文件/cl-home已经使用了100%。这种情况下,tomcat已经无法启动了。
接着,检查到底是哪个目录占用的空间,这才是关键的一步,命令为 du -h
如下图所示,/airConPre目录已经占用了91G的空间,那是相当可怕的!
/home/hjweb/airConPre/bin --- 占用了91G
/home/hjweb/airConPre/bin/logs --- 占用了17G
从这里可以看出bin目录占用了大半部分的空间了。
进入/home/hjweb/airConPre/bin目录,以直观的G为单位显示bin目录里面的各文件大小,命令为 du -h *
如下图所示,nohup.out日志文件达到了74G,我的天啊。
以下是进行nohup.out文件及log日志文件的处理:
echo "" > nohup.out --- 该命令是将nohup.out文件清空,不删除文件。
rm -rf * --- 该命令是删除当前目录下面的所有文件
其中出现No space left on device是因为目录下面没有一点的空间了,引起无法利用临时空间来进行工作。这种情况下只好先进logs目录将全部或者部分的.log文件删除掉。我这里是进行了全部删除,各位看官在操作rm命令的时候务必小心谨慎!
清空日志文件后,再次查看文件大小,nohup.out文件变回了4.0K,/home分区使用情况变回了10%。至此,日志文件清理工作完毕。