访问服务器 request.getheader(origin)为null_服务器磁盘不足,1分钟快速搞定!
生活随笔
收集整理的这篇文章主要介绍了
访问服务器 request.getheader(origin)为null_服务器磁盘不足,1分钟快速搞定!
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
背景
对于系统服务器,一般由技术同学自行控制以及管理,但是针对服务器的监控以及告警比较容易被人忽视。所以经常会导致服务器上出现各种各样的问题。最常见的问题,就是磁盘空间被服务日志给打满了。当服务器上磁盘已经被打满,服务无法正常运行时,需要做的第一个工作就是去找到没用的日志文件,进行清空或者删除操作。一、先看是不是那当我们遇到类似的情况,比如访问无反应,服务器上没有日志了。第一步要做的,不是去想怎么处理,而是先确认是不是磁盘问题引起的。命令很简单df -h先看看我们对应的目录磁盘使用率,是否有富余。如果磁盘还有空间,那我们就要从其他角度去检查服务的健康情况了。二、再看为什么当我们发现具体目录的使用率很高的时候,就可以进入到对应的目录里去使用下一个工具。du -s *查看当前目录所有文件夹占用的磁盘空间,此时占用磁盘空间数值的单位是K。如果想更直观些,可以使用du -sh *,此时单位根据大小可以自动展示成K、M、G等单位。当然也可以跟上排序,推荐使用du -s * | sort -nr | more。如果使用du -sh * | sort -nr最终的排序,并不是空间从大到小,而是数值较大的会排在前面,比如500M会排在2G之前,因为500比2要大。通过上面的方法,可以快速定位到占用空间较大的文件夹,就可以一层一层去找到占用磁盘空间较大的文件了。三、解决方案定位到大文件后,最简单的,大家想到的都是直接rm -f 文件名。针对于历史的日志文件。如果日志没有用了,当然可以用此种方案去处理,有一种情况,使用rm -f 文件名 是没有作用的。那就是删除的目标文件,当前是正在使用的状态下,比如某个tomcat正在往这个日志里面输出内容,如果我们直接删除此文件,文件虽然看不到了,但是磁盘空间并不会被释放。有几种方案可以处理当前遇到的问题。1.利用/dev/null设备来清空文件,e.g. cat /dev/null > filename,cp /dev/null > filename。2.把一个不存在的内容重定向到文件中,e.g. > filename。3.输出空字符串到文件中,e.g. echo “” > filename。4. 利用“true”命令,e.g. true > filename,: > filename。5. 使用truncate命令来清空文件,e.g. truncate -s 0 filename。四、长期解决方案每当服务器磁盘出问题时,都可以通过上述的几个步骤去搞定磁盘问题。但是,如果此类问题经常出现,我们就需要不断重复上述的步骤,还是比较麻烦的,而且我们会发现,经常出问题的日志文件是在固定的几个目录下。这时候我们可以利用linux自带的crontab来执行一些固定的脚本来处理这些不断积累的日志文件。针对历史没用的日志文件,我们可以每天定时去删除几天之前的日志。参考命令如下:00 02 * * * /usr/bin/find /opt/log/* -type f -mtime +3 -exec rm {} \;解释一下,crontab的时间设置,每天凌晨2点执行一次。可以根据自己负责的服务器情况,避免跟一些复杂的任务产生冲突。然后使用find命令找到日志目录下的所有日志文件。-mtime +3指距离当前时间96小时之前的所有文件。96/24=4天?为什么是+3呢,这个-mtime的参数,值得去深入理解一下。-mtime 0 指过去24小时内被修改过的文件。
-mtime 1 指过去48小时至24小时内被修改过的文件。
-mtime 2 指过去72小时至48小时内被修改过的文件。
-mtime 3 指过去96小时至72小时内被修改过的文件。
-mtime -0 指当前时间之前被修改过的文件(这不就是未来被修改过的文件吗?),其实大家可以在服务器上试一下,如果当前一个日志文件一直有内容输出,也是可以把这个文件找出来的,所以-mtime -0可以理解为此刻正在被修改的文件。
-mtime +0 就比较好理解了。就是在24小时之前被修改过的文件。
-mtime -1 指24小时之内被修改过的文件,与-mtime 0的效果一致。
-mtime +1 指48小时之前被修改过的文件。
-mtime -2 指过去48小时之内被修改过的文件。
-mtime +2 指过去72小时之前被修改过的文件。
-mtime -3 指过去72小时之内被修改过的文件。
-mtime +3 指过去96小时之前被修改过的文件。
也许想看
怎样在Apache Httpclient上做扩展
除敏捷实践外,项目管理还能做点什么?
你应该知道的异步服务数据防丢失方案设计
一文弄懂Nginx最核心的配置
[手把手系列之]Docker 部署 vue 项目
好文我在看?
总结
以上是生活随笔为你收集整理的访问服务器 request.getheader(origin)为null_服务器磁盘不足,1分钟快速搞定!的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: python中用def实现自动排序_漫画
- 下一篇: gpu处理信号_GPU显卡不仅用来打游戏