清理 SquirrelMail 資料目錄

清理 SquirrelMail 資料目錄

我的 email server 是用 SquirrelMail 作為 webmail,近日查看了一下 SquirrelMail 的 data 目錄內有過萬個檔案,當中除了用戶的設定檔外,也有一些暫存檔,因為當用戶編寫郵件或寄出附件時,會將檔案暫存在 data 目錄,很多時這些檔案也沒有用,但因為與設定檔混在一起,要刪除也很麻煩。

今天找到了解決方法,是將 data 及 atthments 的目錄分開,這樣便可以寫一個 shell script 定期清理暫存檔,以改善 SquirrelMail 的整體效能及節省硬碟空間,以下是我的做法:

先建立新的 data 及 attchments 目錄,並將用戶的設定檔複製到新 data 目錄:

mkdir /path/new_data
cp data/*pref /path/new_data
cp data/*book /path/new_data
chown -R apache:apache /path/new_data
mkdir /path/attachments
chown -R apache:apache /path/attachments

開啟 config/config.php,將 $data_dir 改成成新 data 目錄,以及將 $attachment_dir 改成新 attachments 目錄。這樣就可以放心將 attachments 目錄內的舊檔案刪除,以下指令可以刪除 30 前建立的檔案:

find /path/attachments -type f -mtime +30 -exec rm {} \;

用以上指令建立一個 shell script,每天定時執行便不用人手操作了。

留言

熱門文章