2011-11-06 85 views
0

我們擁有一個包含數千個用戶主目錄的NFS服務器。我做了大量的搜索和手冊閱讀,我似乎無法弄清楚這一點。從Linux服務器中刪除舊用戶的主目錄

我想刪除不再與我們在一起的用戶的主目錄。基本上,任何人在一年內都沒有登錄並對其主文件夾進行更改。

我一直打的障礙是我看到的每一個工具(ls,find等)都會給我上次修改目錄時的列表,但不會修改其中的內容。

以用戶Joe爲例。

/data/Users/joe/Windows# ls -lt drwxrwx---+ 2 1079 nhsstaff 4096 2008-07-31 15:13 Cookies

所以從這個輸出,你會認爲這個文件夾判斷自7月7日一直沒進入2008年

但是當你看目錄內:

`[email protected]:/data/Users/joe/Windows/Cookies# ls -ltr 
-rwx------+ 1 1079 nhsstaff 92 2009-02-17 03:16 [email protected][1].txt 
-rwx------+ 1 1079 nhsstaff 86 2009-02-17 03:16 [email protected][1].txt 
-rwx------+ 1 1079 nhsstaff 136 2009-02-17 03:16 [email protected][1].txt 
-rwx------+ 1 1079 nhsstaff 104 2009-02-17 03:16 [email protected][1].txt 
-rwxrwx---+ 1 1079 nhsstaff 32768 2010-04-26 07:53 index.dat` 

你可以看到文件已自2010年4月26日以來已更改。

所以總結,我需要一種方法來搜索和排序時,最後一次的家庭目錄ectory被使用。

+0

如果您搜索了[正確的網站'; - )'](http://serverfault.com),它可能會有所幫助。 –

+2

您是否可以檢查您的日誌,並確定上次登錄時是否掃描整個文件系統,並希望最近修改某些內容? – sarnold

+0

我希望在接下來的一週或兩週內,我不會在NHS承包商那裏看到有關NHS承包商丟失大量數據的新聞... – Flexo

回答

1

運行以下命令:

find /data/Users -mtime +365 | awk '{print $1}' | cut -f2 -d"/" | sort\ 
    | uniq -c | awk '{print $2}' 

這組命令會給你所有這些用戶,誰沒有修改自己的主文件夾了一年多的列表。 如果您希望腳本通過腳本自動刪除這些文件夾,我也可以提供它。