0

何千ものユーザーのホーム ディレクトリを持つ NFS サーバーがあります。私は多くの検索と man ページの読み取りを行いましたが、これを理解できないようです。

もう私たちと一緒にいないユーザーのホーム ディレクトリを削除したいと考えています。基本的に、1 年以上ログインせず、ホーム フォルダに変更を加えていない人です。

私がヒットし続ける問題は、私が見るすべてのツール(ls、findなど)が、ディレクトリが最後に変更されたときにリストを表示しますが、内部の内容は表示しないことです。

ユーザー Joe を例にとってみましょう。

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

したがって、この出力から判断すると、このフォルダは 2008 年 7 月 7 日以降アクセスされていないと思われます。

しかし、ディレクトリ内を見ると:

`root@smb0:/data/Users/joe/Windows/Cookies# ls -ltr
-rwx------+ 1 1079 nhsstaff    92 2009-02-17 03:16 default@sun[1].txt
-rwx------+ 1 1079 nhsstaff    86 2009-02-17 03:16 default@ig[1].txt
-rwx------+ 1 1079 nhsstaff   136 2009-02-17 03:16 default@google[1].txt
-rwx------+ 1 1079 nhsstaff   104 2009-02-17 03:16 default@dell[1].txt
-rwxrwx---+ 1 1079 nhsstaff 32768 2010-04-26 07:53 index.dat`

2010 年 4 月 26 日以降、ファイルが変更されていることがわかります。

要約すると、ホーム ディレクトリが最後に使用された時刻を検索して並べ替える方法が必要です。

4

1 に答える 1

1

次のコマンドを実行します。

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

この一連のコマンドは、ホーム フォルダーを 1 年以上変更していないすべてのユーザーの一覧を表示します。スクリプトを使用してこれらのフォルダーを自動削除するスクリプトが必要な場合は、それも提供できます。

于 2011-11-06T23:41:21.597 に答える