CentOS。過去30日間に変更されたファイルを見つけて、それらのいずれかがマルウェアに感染しているかどうかを確認する必要があります。
私はこれを試しました:
root@server [/home/someuser/public_html/]# find . -mtime +30
-exec ls -l {} > last30days.txt \;
しかし、過去30日間ではなく、すべてが見つかったようです。 22,000ファイル。
いくつかの問題
>
のようなものがないと、-exec
でbash -c '... > ...'
を使用できません。 >
はファイルを上書きしますが、-exec
ではなく、find
全体をリダイレクトする必要があります。+30
はolder
が30日よりも長く、-30
は過去30日間で変更されます。-exec
は実際には必要ありません。さまざまな-printf
オプションですべてをリストできます。以下のようなものが動作するはずです
find . -type f -mtime -30 -exec ls -l {} \; > last30days.txt
-printf
を使用した例
find . -type f -mtime -30 -printf "%M %u %g %TR %TD %p\n" > last30days.txt
これにより、「権限所有者グループの日時ファイル名」の形式でファイルが一覧表示されます。複雑なことを何もする必要がない場合は、-printf
が-exec
より一般的に望ましいです。これは、-exec
ごとにサブシェルを実行する必要がないため、実行速度が速くなるためです。 find
のバージョンによっては、-ls
を使用することもできます。これは上記と同様の形式です。