/var/log/maillog日志太大占滿/var空間如何清理

網站建設 百科知道/var/log/maillog日志太大占滿/var空間如何清理已關閉評論18閱讀模式

一、情景描述

節點磁盤空間告警,使用df -h查看發現是/var盤滿了,cd進入/var目錄下,du -sch log/ 發現是log目錄占用空間大,cd切換到log目錄下,du -dh *查看是因為maillog日志太大導致的,故需要清理maillog日志。

二、處理過程

我是想將maillog分割成幾個小文件,再刪除很久之前的數據,但是/var空間滿了,我就將maillog移動到/tmp目錄下進行分割。

①mv /var/log/maillog /tmp

②split -b 500M /tmp/maillog

分割完成后我就將/var/log/maillog文件和/tmp/maillog刪除了,想要將分割好的小文件移動到/var/log下,但是還是提示沒有空間,使用df -h查看發現/var使用率100%了,但是在/var下的各個目錄都很小,然后查看delete進程。

③lsof | grep delete 找到了刪除/var/log/maillog的進程。

④kill -9 PID 刪除對應的進程。

至此空間告警恢復,再將之前分割好的小文件移動到/var/log下即可。

三、補充清空日志方法

查詢打開/var/log/messages文件的進程的進程ID(PID):

lsof | grep messages

得到輸出:

COMMAND ???PID USER ??FD ??TYPE DEVICE ??SIZE/OFF NODE NAME

rsyslogd ?1455 root ???4w ??REG ???8,6 1299113404 2686 messages

abrt-dump 1932 root ???4r ??REG ???8,6 1299113404 2686 messages

結束生成messages的進程:

kill -9 1455

kill -9 1932

清空日志并重啟:

cat /dev/null > /var/log/messages

reboot


不需要郵件系統,直接卸載干凈。如下。

1. 查看是否安裝了郵件服務

直接查安裝的軟件包:

bash
rpm -qa | grep -E 'postfix|sendmail'

如果輸出有 postfixsendmail,說明安裝了郵件系統。


2. 查看郵件服務是否在運行

查一下系統服務狀態:

bash
systemctl status postfix
systemctl status sendmail
  • 如果是 active (running),就說明郵件服務正在運行。

  • 如果是 inactivenot found,說明沒在跑,甚至可能沒安裝。


3. 檢查端口監聽

郵件服務器一般監聽端口 25(SMTP端口)。

你可以用:

bash
ss -ltnp | grep :25

或者:

bash
netstat -ltnp | grep :25

如果看到有程序(比如 master 是 postfix 的主進程)監聽 25端口,那就是有郵件服務在運行。


4. 直接測試 sendmail 命令

在終端輸入:

bash
which sendmail

或者:

bash
sendmail -V
  • 如果有返回路徑或版本號,說明系統上有 sendmail (可能是 Postfix 的 sendmail 兼容接口)。


總結一下:

 

檢查方法結果含義
rpm -qa 查軟件包判斷是否安裝
systemctl status 查服務判斷是否運行
ss / netstat 查端口判斷是否監聽 SMTP
sendmail 命令檢查郵件發送接口

不過,有沒有運行還得繼續確認一下。

你可以馬上查一下 Postfix 的服務狀態:

bash
systemctl status postfix

如果你看到是 active (running),那就是在運行;如果是 inactivedead,說明雖然安裝了,但沒啟用。

如果你不需要郵件服務,有兩種選擇:


方案一:僅禁用 + 停止 Postfix(保留安裝)

命令如下:

bash
# 停止 postfix 服務
systemctl stop postfix

# 禁止開機自啟
systemctl disable postfix

這樣做的效果是:

  • Postfix 停止運行

  • 以后開機也不會自動啟動

  • 但系統上還保留了 postfix 軟件包(占用一點磁盤空間)


方案二:徹底卸載掉 Postfix

如果你完全不需要郵件系統,可以卸載:

bash
# 卸載 postfix 軟件包
yum remove postfix

然后它就從你的系統上徹底干凈地消失了。


小提醒

卸載 postfix 后,系統有些通知(比如 cron 計劃任務失敗通知郵件)可能會丟失掉,如果完全是自己用的服務器,基本沒事。

 
  • 本文由 米粒在線 發表于 2025年4月27日10:52:39
  • 轉載請務必保留本文鏈接:http://www.bjmhhq.com/129273.html
實用軟件

winsxs太大了怎么清理

win系統盤空間越來越少,發現winsxs超大。winsxs太大了,怎么清理呢?顯然直接刪除這個winsxs文件夾是不行的,這是系統文件夾,直接刪除會造成系統損壞。那怎么辦,總不能看著...