日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

访问服务器 request.getheader(origin)为null_服务器磁盘不足,1分钟快速搞定!

發布時間:2024/1/23 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 访问服务器 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小時內被修改過的文件。

可以看出來,后面的數字代表的意思是從當前時刻往前數,(N*24+24)小時至(N*24)小時內的所有被修改過的文件。那么當-mtime后面的參數帶上“+”或者“-”的時候呢。也比較好理解,+就是在這個N的范圍之前所有時間,-就是在N的范圍之后所有的時間。繼續舉例子。
  • -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小時之前被修改過的文件。

到此,可以說明清楚,+3為什么不是3天(72小時)之前被修改過的所有文件,而是4天(96小時)之前被修改過的所有文件。處理幾天前的日志文件,可以使用上面的定時任務,假設有一個服務的日志量特別大,一天或者幾個小時之內就會把剩余的磁盤空間打滿。這個時候我們可以怎么處理呢。按照文章上面的說法,直接刪除日志文件是不可取的,如果涉及的服務并沒有關閉或者重啟,日志文件占用的磁盤空間并不會釋放。這時候,就可以使用另外幾種清空文件內容的命令了。參考命令如下:0 */1 * * * /usr/bin/find /opt/log -type f -size +1G -exec cp /dev/null {} \;類似之前的定時任務,執行頻率調高,每一個小時執行一次,我們先要找到日志文件,多一個控制參數,就是找到內容超過1G的文件,只有特別大的文件,才是我們需要處理的目標。再去執行一個文件清空的命令,比如這邊選擇的是cp /dev/null filename。這樣我們就可以做到,每小時去清空內容過多的日志文件。也不需要我們重啟服務耽誤其他測試工作。總結總結一下,發現服務器不可用的時候,可以先確認是否為磁盤問題(df命令),然后找到占用磁盤較多的文件(du),刪除(rm)舊的或者清空(cat /dev/null)正在使用的日志文件??梢耘R時解決一次問題,如果經常出現類似的情況,我們就可以使用crontab來定時處理日志文件了。當然,針對線上的服務器,日志的備份還是比較重要的。千萬不要圖省事,參考本文的方式去處理。

也許想看

  • 怎樣在Apache Httpclient上做擴展

  • 除敏捷實踐外,項目管理還能做點什么?

  • 你應該知道的異步服務數據防丟失方案設計

  • 一文弄懂Nginx最核心的配置

  • [手把手系列之]Docker 部署 vue 項目

好文我在看?

總結

以上是生活随笔為你收集整理的访问服务器 request.getheader(origin)为null_服务器磁盘不足,1分钟快速搞定!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。