標籤

2025年8月28日 星期四

linux的硬碟,短時間被灌爆,找到原兇了 Selenium , postfix

程式寫好後,根本就不知道,所用的python 套件 Selenium 會產生那麼多不需要留下的檔案

rust_mozprofileWEAzgU

Temp-f9dc9dcd-df17-48b1-ba34-d7b3cc65552e

Temp-fa00bc7c-c01e-4de8-9657-16ab6c4de683

Temp-fa2c6166-ed5a-45ec-b672-3c08ca194c56

...


✅ 解決方法

  1. 程式結尾一定要加 driver.quit()

    driver.quit()

    這樣 Selenium 會清掉暫存檔。

  2. 即使異常退出,也能清理
    建議用 try/finally 包起來:

    from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.wait import WebDriverWait options.add_argument("--headless") driver = None try: driver = webdriver.Firefox(options=options) wait = WebDriverWait(driver, 10) driver.get(url) print(driver.page_source) finally: if driver: driver.quit()
  3. 定期清理 /tmp
    即使你程式寫好 quit(),偶爾也可能有中斷殘留。建議加個 cron job 定期清:

    0 4 * * * rm -rf /tmp/rust_mozprofile* /tmp/Temp-*




du -h --max-depth=1 / | sort -hr | head -20

du -h --max-depth=1 /var | sort -hr | head -20

du -sh /var/spool/ | sort -hr

du -ah /var/spool | sort -hr | head -20

在 CentOS 6,/var/spool 常見的子目錄用途如下:

  • /var/spool/mail/ → 使用者郵件信箱 (local mail, 比如 root 的系統通知)

  • /var/spool/mqueue/ → sendmail / postfix 的郵件佇列

  • /var/spool/cron/ → 使用者的 crontab 定義檔(不大,不會佔到 G 級)

  • /var/spool/cups/ → 列印排程的暫存檔

  • /var/spool/clientmqueue/ → sendmail client 端暫存郵件


2.1M    /var/spool/postfix/maildrop/C7DC2CA683

2.1M    /var/spool/postfix/maildrop/9C1ADCA670

2.0M    /var/spool/postfix/maildrop/9BAF9CA66C

2.0M    /var/spool/postfix/maildrop/44076CA67A

2.0M    /var/spool/postfix/maildrop/175A0CA677

1.9M    /var/spool/postfix/maildrop/E3F3FCA669

1.9M    /var/spool/postfix/maildrop/B528022E35

764K    /var/spool/postfix/maildrop/CC784DCC66

764K    /var/spool/postfix/maildrop/BDA06D8CA7

764K    /var/spool/postfix/maildrop/942D3D9E24


6FFA09457F      761 Thu May 19 17:10:02  root

                                         root


F08D61FF23C      765 Thu Oct 31 16:55:02  root

                                         root


59C5A5830A      761 Wed Dec  8 13:49:04  root

                                         root


260AA95A18      761 Mon May 23 06:58:04  root

                                         root

這些信都是 系統寄給 root 的通知郵件(例如 cron job 錯誤、系統警告),因為你的 CentOS6 沒有人收信,也沒有 relay 到外部 SMTP,所以就一直卡在 postfix 隊列裡。


✅ 建議做法(既然你「沒用 mail」)

  1. 刪掉所有卡住的信件

    postsuper -d ALL

    這會把 /var/spool/postfix 裡所有 mail queue 清乾淨。

  2. 關掉 postfix 服務(避免以後又堆積):

    service postfix stop chkconfig postfix off

    (停掉,並禁止開機自動啟動)

  3. (選擇性)清理殘留的 spool 資料夾:

    rm -rf /var/spool/postfix/*

這樣一來:

  • /var/spool 的空間會釋放出來(應該可以少個好幾 G)。

  • 系統以後不會再試著寄信。

# 停掉 postfix (你已經停了,但再確定一下)
service postfix stop

# 清空整個 postfix spool
rm -rf /var/spool/postfix/*

沒有留言:

張貼留言