伺服器一般是要求長期連續執行的,自動執行任務生成的各種檔案及日誌,可能使空間佔滿,從而造成業務故障,所以要定時清理。
一般來說,linux空間佔滿有如兩種情況:
1、空間被佔滿了
用df -k 可以看到使用100%,這種 情況下,滿的分割槽無法新建檔案,也無法輸出日誌,需要輸日誌的程序一般都會停止工作
2、inode佔滿了
inode如何理解呢,就是乙個檔案 對應乙個inode,而linux各個分割槽可用的inode一般是有限的,使用df -i 可以檢視使用情況。一般經常出現硬碟空間沒佔滿,但inode佔滿了,這種一般是因為有大量的小檔案生成,要刪掉
要定時清理空間,我們需要了解乙個命令,find 命令,這個命令可以查詢目錄下特定檔名,生成日期的檔案
舉例如下:
上面的就是查詢 /slvi/apache/htdocs/nos/netflow/netflow/view/report/day/目錄下檔名開的r-nf-543的檔案
-type f 指明是檔案,如是-d 剛是目錄, -mtime +10是超過現在10天的,如是10天內,則是-10
上面只是查詢,我們需要查到了,再刪掉,則要加 「 -exec rm -rf {} \; 」 ,結果如下:
對於通用的linux來說,/var是各種系統日誌輸出分割槽,建議不要和根分割槽一起,而是單獨劃分區,一般我們劃20g(一般夠用,除非你熱衷分析日誌),一般我們要清理/var/下面的一些檔案及目錄:
/bin/echo '' > /var/spool/mail/root 如果你/var空間經常不夠,可以清一下,當然你應用程式的使用者也要清:
/bin/echo '' > /var/spool/mail/***x ***x代表你普通使用者
下面這兩個一般是郵件佇列裡發的,需要清理,不然可能造成/var/滿,或inode佔滿,因為很多小檔案:
/bin/find /var/spool/clientmqueue/* -type f -mtime +7 -exec rm -rf {} \;
/bin/find /var/spool/mqueue/* -type f -mtime +7 -exec rm -rf {} \;
上面說是7天清一次
echo ''>/var/log/maillog.3 清第三個檔案,離最近時間最長
/var/log/messages.3 清第三個檔案,離最近時間最長
上面這個命令,可以放在乙個統一的shell裡,然後把shell再放入crontab裡自動執行。當然需要你長期觀察,發現有其它要清的,也放入shell,包括你自己的應用程式輸出的日誌及檔案。
還要提醒,要用find時,先不加後面的刪除命令,先看找出來是否正確,是否是你需要刪,再加上刪除,免得你在根目錄執行rm -rf *
linux檢視磁碟空間
如果要檢視磁碟還剩多少空間,當然是用df的命令了。root localhost df h 檔案 系統 容量 已用 可用 已用 掛載點 dev sda2 14g 11g 2.6g 82 dev sda1 99m 14m 81m 14 boot tmpfs 442m 275m 168m 63 dev s...
linux檢視磁碟空間
root localhost du max depth 1 h 24k gnome www.2cto.com 8.0k eggcups 8.0k config 136k gnome2 16k chewing 8.0k gnome2 private 8.0k trash 224k gstreamer ...
linux下檢視磁碟空間
如果要檢視磁碟還剩多少空間,當然是用df的命令了。root localhost df h 檔案 系統 容量 已用 可用 已用 掛載點 dev sda2 14g 11g 2.6g 82 dev sda1 99m 14m 81m 14 boot tmpfs 442m 275m 168m 63 dev s...