以下は、30 日以上前のファイルを検索し、ファイルの数またはゼロを返す簡単なスクリプトです。
可能であれば、次のことを行いたいと思います。
- 30 日より古いものが見つかった場合はループを終了し、list.dat の次の行に移動します。
この方法では、探しているものが見つかったので、誰かのディレクトリをさらに再帰する必要はありません。これらのディレクトリの一部は巨大で、古い SAN を使用しているため、氷河です。
基本的に、30 日以上使用されていない「ホーム」フォルダのレポートを生成しようとしていますが、これ以外の方法でこの情報を抽出することはできません。
これを簡単にするために「検索」の終了ステータスを取得する方法はないと思います...
または、これを別の方法で行う方法について提案がある場合は、私はすべて耳にします。
提案、アイデア、または助けていただければ幸いです。
ダン
#!/bin/sh
PATH=/bin:/usr/bin:/usr/sbin export PATH
SOURCEDIR=/Volumes/UserHomes/
while IFS= read -r line
do
COUNT=$(find $SOURCEDIR/$line -type f -mtime -30 | wc -l)
if [ "$COUNT" -eq 0 ]; then
echo $line ZERO
else
echo $line $COUNT files found
fi
done < $SRCLIST