日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2024/1/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 访问服务器 request.getheader(origin)为null_服务器磁盘不足,1分钟快速搞定! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景

對于系統(tǒng)服務(wù)器,一般由技術(shù)同學(xué)自行控制以及管理,但是針對服務(wù)器的監(jiān)控以及告警比較容易被人忽視。所以經(jīng)常會導(dǎo)致服務(wù)器上出現(xiàn)各種各樣的問題。最常見的問題,就是磁盤空間被服務(wù)日志給打滿了。當(dāng)服務(wù)器上磁盤已經(jīng)被打滿,服務(wù)無法正常運行時,需要做的第一個工作就是去找到?jīng)]用的日志文件,進行清空或者刪除操作。一、先看是不是那當(dāng)我們遇到類似的情況,比如訪問無反應(yīng),服務(wù)器上沒有日志了。第一步要做的,不是去想怎么處理,而是先確認(rèn)是不是磁盤問題引起的。命令很簡單df -h先看看我們對應(yīng)的目錄磁盤使用率,是否有富余。如果磁盤還有空間,那我們就要從其他角度去檢查服務(wù)的健康情況了。二、再看為什么當(dāng)我們發(fā)現(xiàn)具體目錄的使用率很高的時候,就可以進入到對應(yīng)的目錄里去使用下一個工具。du -s *查看當(dāng)前目錄所有文件夾占用的磁盤空間,此時占用磁盤空間數(shù)值的單位是K。如果想更直觀些,可以使用du -sh *,此時單位根據(jù)大小可以自動展示成K、M、G等單位。當(dāng)然也可以跟上排序,推薦使用du -s * | sort -nr | more。如果使用du -sh * | sort -nr最終的排序,并不是空間從大到小,而是數(shù)值較大的會排在前面,比如500M會排在2G之前,因為500比2要大。通過上面的方法,可以快速定位到占用空間較大的文件夾,就可以一層一層去找到占用磁盤空間較大的文件了。三、解決方案定位到大文件后,最簡單的,大家想到的都是直接rm -f 文件名。針對于歷史的日志文件。如果日志沒有用了,當(dāng)然可以用此種方案去處理,有一種情況,使用rm -f 文件名 是沒有作用的。那就是刪除的目標(biāo)文件,當(dāng)前是正在使用的狀態(tài)下,比如某個tomcat正在往這個日志里面輸出內(nèi)容,如果我們直接刪除此文件,文件雖然看不到了,但是磁盤空間并不會被釋放。有幾種方案可以處理當(dāng)前遇到的問題。1.利用/dev/null設(shè)備來清空文件,e.g. cat /dev/null > filename,cp /dev/null > filename。2.把一個不存在的內(nèi)容重定向到文件中,e.g. > filename。3.輸出空字符串到文件中,e.g. echo “”?> filename。4. 利用“true”命令,e.g. true > filename,: > filename。5. 使用truncate命令來清空文件,e.g. truncate -s 0 filename。四、長期解決方案每當(dāng)服務(wù)器磁盤出問題時,都可以通過上述的幾個步驟去搞定磁盤問題。但是,如果此類問題經(jīng)常出現(xiàn),我們就需要不斷重復(fù)上述的步驟,還是比較麻煩的,而且我們會發(fā)現(xiàn),經(jīng)常出問題的日志文件是在固定的幾個目錄下。這時候我們可以利用linux自帶的crontab來執(zhí)行一些固定的腳本來處理這些不斷積累的日志文件。針對歷史沒用的日志文件,我們可以每天定時去刪除幾天之前的日志。參考命令如下:00 02 * * * /usr/bin/find /opt/log/* -type f -mtime +3 -exec rm {} \;解釋一下,crontab的時間設(shè)置,每天凌晨2點執(zhí)行一次。可以根據(jù)自己負(fù)責(zé)的服務(wù)器情況,避免跟一些復(fù)雜的任務(wù)產(chǎn)生沖突。然后使用find命令找到日志目錄下的所有日志文件。-mtime +3指距離當(dāng)前時間96小時之前的所有文件。96/24=4天?為什么是+3呢,這個-mtime的參數(shù),值得去深入理解一下。
  • -mtime 0 指過去24小時內(nèi)被修改過的文件。

  • -mtime 1 指過去48小時至24小時內(nèi)被修改過的文件。

  • -mtime 2 指過去72小時至48小時內(nèi)被修改過的文件。

  • -mtime 3 指過去96小時至72小時內(nèi)被修改過的文件。

可以看出來,后面的數(shù)字代表的意思是從當(dāng)前時刻往前數(shù),(N*24+24)小時至(N*24)小時內(nèi)的所有被修改過的文件。那么當(dāng)-mtime后面的參數(shù)帶上“+”或者“-”的時候呢。也比較好理解,+就是在這個N的范圍之前所有時間,-就是在N的范圍之后所有的時間。繼續(xù)舉例子。
  • -mtime -0 指當(dāng)前時間之前被修改過的文件(這不就是未來被修改過的文件嗎?),其實大家可以在服務(wù)器上試一下,如果當(dāng)前一個日志文件一直有內(nèi)容輸出,也是可以把這個文件找出來的,所以-mtime -0可以理解為此刻正在被修改的文件。

  • -mtime +0 就比較好理解了。就是在24小時之前被修改過的文件。

  • -mtime -1 指24小時之內(nèi)被修改過的文件,與-mtime 0的效果一致。

  • -mtime +1 指48小時之前被修改過的文件。

  • -mtime -2 指過去48小時之內(nèi)被修改過的文件。

  • -mtime +2 指過去72小時之前被修改過的文件。

  • -mtime -3 指過去72小時之內(nèi)被修改過的文件。

  • -mtime +3 指過去96小時之前被修改過的文件。

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

也許想看

  • 怎樣在Apache Httpclient上做擴展

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

  • 你應(yīng)該知道的異步服務(wù)數(shù)據(jù)防丟失方案設(shè)計

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

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

好文我在看?

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。