自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux 磁盤爆滿?別慌!這幾個命令輕松搞定

系統(tǒng) Linux
當Linux?磁盤空間不足時,首先通過df? 和du? 命令了解磁盤使用情況,然后使用find 查找大文件,清理不必要的日志和臨時文件,卸載不必要的包,最后考慮擴展磁盤。

在日常維護Linux系統(tǒng)時,磁盤空間不夠用是個挺常見的麻煩事。如果磁盤滿了,可能會導致程序出錯、服務掛掉,嚴重時連系統(tǒng)都啟動不了!不過別擔心,學會幾個常用的命令就能幫你快速定位問題,甚至輕松解決磁盤滿的問題。接下來,我會介紹一些命令,幫你應對這種情況,確保系統(tǒng)穩(wěn)定運行。

先看一眼磁盤空間

首先,要了解當前磁盤空間的使用情況,得使用df 命令:

df -h

-h 選項會以可讀性較強的方式顯示磁盤空間,輸出類似:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       100G  90G   5G  95% /
tmpfs            16G  4G    12G  25% /dev/shm
/dev/sdb1       200G  100G  100G 50% /data

從輸出可以看出,/dev/sda1 分區(qū)的使用率達到了 95%,說明系統(tǒng)根分區(qū)的空間已經(jīng)接近滿了。此時我們要針對/ 分區(qū)進行排查。

查看每個目錄占用的空間

想要找出哪些目錄占用了大量磁盤空間,可以使用du 命令:

du -sh /* | sort -h

這個命令會顯示每個頂級目錄的空間占用情況,并通過sort 排序。輸出大概是這樣:

1.3G    /snap
2.6G    /opt
3.3G    /usr
7.8G    /var

通過上面的結果,我們可以快速發(fā)現(xiàn)/var 占用了7.8G空間,可能是我們需要關注的重點。

找出大文件并清理

如果我們需要深入了解某個目錄或子目錄的文件占用情況,可以進入目錄后使用find 命令來查找大文件。例如,在/var目錄下找出所有大于100MB的文件:

find /var -type f -size +100M

這將列出所有符合條件的文件,可以幫助我們快速定位大文件。接下來,根據(jù)文件的用途決定是否刪除或者備份。

root@didiplus:~# find /var -type f -size +100M
/var/lib/docker/overlay2/d868589f060052fd1543bf393e4ebc0759e5f521384e34ead32a08f45352ba6b/diff/opt/java/openjdk/lib/modules
/var/lib/docker/overlay2/1a1009115bd48b6df32e87f305c5022ff191c45315baed88271d61c686264365/diff/opt/java/openjdk/lib/modules
/var/lib/docker/overlay2/e2b58562f389558a896f78855f4a3a4dab2967f614b054e8dc05b72aab8abe25/merged/opt/java/openjdk/lib/modules
root@didiplus:~# find /usr -type f -size +100M
/usr/local/bin/1panel
/usr/local/cloudmonitor/bin/argusagent
/usr/bin/dockerd

清理日志文件

日志文件是磁盤空間的另一個大敵,尤其是在生產(chǎn)環(huán)境中。我們可以通過以下命令查看哪些日志文件占用了大量空間:

root@didiplus:~# du -h /var/log/* | sort -rh
2.0G    /var/log/journal/949ee72b23b94d4aa7e2f5f7612118d6
2.0G    /var/log/journal
533M    /var/log/atop

查了之后發(fā)現(xiàn),日志文件里有兩個文件夾特別大,一個是journal,另一個是atop。接下來可以根據(jù)具體情況來處理這些日志文件。

如果某些日志文件過大,可以根據(jù)需求進行清理。比如清空syslog 文件:

sudo truncate -s 0 /var/log/syslog

或者通過logrotate 工具設置日志輪換策略,避免日志文件無限制增長。

清理臨時文件

臨時文件夾通常會存放一些不必要的臨時文件,定期清理這些文件可以有效釋放空間。使用tmpwatch 或rm 命令清理/tmp 目錄:

sudo rm -rf /tmp/*

注意,/tmp 目錄中的文件一般都是不重要的臨時文件,但清理前最好確認沒有正在使用的程序或服務依賴其中的文件。

卸載不必要的軟件包

除了清理文件,有時不再使用的軟件包也是磁盤占用的一大來源??梢允褂胐pkg(Debian 系)或rpm(RedHat 系)來卸載不需要的軟件包。

例如,在 Debian 系統(tǒng)中,我們可以通過以下命令查找并刪除不必要的軟件包:

sudo apt-get autoremove
sudo apt-get clean

autoremove 命令會刪除那些自動安裝的、現(xiàn)在不再需要的依賴包;clean 會清理緩存文件。

使用lsof 查找占用空間的文件

有時候,磁盤空間被占滿是因為某些程序占用了太多的空間。你可以用lsof 命令(這個命令是用來列出所有被打開的文件)來看看哪些文件正被這些程序占用。

例如,通過lsof命令查看被刪除的文件。

lsof | grep deleted

這個命令能幫你找出那些已經(jīng)被刪了但還被某些程序占著的文件。雖然這些文件看起來像是被刪掉了,但實際上只要相關程序還在運行,它們就會繼續(xù)占用硬盤空間。

如果發(fā)現(xiàn)有這種情況,可以嘗試重啟相關的程序,這樣就能釋放出被占用的空間了。

通過腳本方式檢測磁盤情況

定期用腳本來檢查服務器的磁盤空間是個不錯的方法,這樣可以早點發(fā)現(xiàn)磁盤快滿的問題。下面有個簡單的腳本,它能查看磁盤用了多少空間,如果使用率超過了80%,就會自動發(fā)警告到釘釘上。

#!/bin/bash

# 設置警告閾值
THRESHOLD=80

# 獲取磁盤使用情況
DISK_USAGE=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//')

# 獲取當前日期時間并進行 URL 編碼
DATE=$(date '+%Y-%m-%d %H:%M:%S')
ENCODED_DATE=$(echo "$DATE" | sed 's/ /%20/g; s/:/%3A/g')

# 檢查磁盤使用情況是否超過閾值
if [ $DISK_USAGE -gt $THRESHOLD ]; then
    # 如果超過閾值,輸出警告信息
    echo "$DATE - WARNING: Disk usage is above $THRESHOLD% - Current usage is $DISK_USAGE%"
    
    # 用 curl 發(fā)送 HTTP 請求,代入編碼后的日期時間
    curl "https://push.spug.cc/send/1QGmWWdzmlRD?DATE=${ENCODED_DATE}&THRESHOLD=${THRESHOLD}&DISK_USAGE=${DISK_USAGE}"
else
    # 如果沒有超過閾值,輸出正常信息
    echo "$DATE - Disk usage is normal: $DISK_USAGE%"
    
    # 用 curl 發(fā)送正常信息(也可以不發(fā)送)
    curl "https://push.spug.cc/send/1QGmWWdzmlRD?DATE=${ENCODED_DATE}&THRESHOLD=${THRESHOLD}&DISK_USAGE=${DISK_USAGE}"
fi

當腳本發(fā)現(xiàn)服務的根目錄使用量超過80%時,就會給釘釘發(fā)一條告警消息,如下圖所示。

總結

當Linux磁盤空間不足時,首先通過df 和du 命令了解磁盤使用情況,然后使用find 查找大文件,清理不必要的日志和臨時文件,卸載不必要的包,最后考慮擴展磁盤。掌握這些命令,你就能有效應對磁盤空間不足的問題,保證系統(tǒng)順暢運行。遇到問題不要慌,這幾個命令幫你輕松梭哈解決!

責任編輯:趙寧寧 來源: 攻城獅成長日記
相關推薦

2022-06-07 17:08:51

WizTreewindows工具

2022-09-29 10:51:18

ShellLinux命令審計

2021-05-02 23:23:13

手機隱私安全

2009-12-11 15:37:58

Linux日志處理

2022-09-26 12:17:14

clamp() 函數(shù)CSS

2019-06-11 09:02:22

2010-07-27 14:25:02

linux文件編碼

2024-10-14 13:22:15

2023-12-05 18:09:17

容器debug

2011-07-08 09:57:36

2023-08-03 07:13:59

2009-12-03 11:37:56

Suse Linux

2009-12-14 13:44:49

Linux磁盤配額

2024-10-28 11:07:33

磁盤目錄文件

2010-08-05 16:42:33

數(shù)據(jù)中心停機成本

2021-02-18 14:03:19

Linux命令行history

2010-01-06 17:51:26

Linux關機命令

2024-09-09 16:50:21

2020-05-12 09:02:29

Linux磁盤硬盤

2022-07-22 16:30:25

MacmacOS
點贊
收藏

51CTO技術棧公眾號