次の機能が必要なスクリプトを作成したいと思います。
過去24時間に生成されたすべてのファイルを一覧表示します。
find
オプションを指定してコマンドを発行すると、変更されたすべてのctime
ファイル(権限と勝者)が一覧表示されます。find . -ctime -1
ただし、過去24時間に変更または変更されていない新しいファイルのリストが必要です。
過去24時間に削除されたすべてのファイルを一覧表示します。ファイルを削除した場合、これらのファイル名をどのように取得できますか?
ファイルの作成時間(生成時間)を取得する方法。コマンドには、
stat
ファイルの作成時間を提供する形式があります。%w Time of file birth, human-readable; - if unknown
%W Time of file birth, seconds since Epoch; 0 if unknown
abc@123:# stat -c %w tzls.txt - abc@123:#
ただし、出力は提供しません。私のLinuxファイルシステムはext3です。
答え1
「created」属性が存在しないため、多くのLinuxファイルシステムではこれを直接行うことはできません。これらのリンクのいくつかを読んでみたいかもしれません。
本当に削除されたファイルを見つける必要がある場合作られた過去24時間で行われたこととは異なり、過去24時間作成または変更、2つのオプションがあります。
find
1作成日をサポートするファイルシステムに切り替えて、との組み合わせを使用してstat --format '%w'
そのファイルのリストを取得します。
224時間ごとに実行find / -type f
して、現在の実行結果と最後の実行結果を比較します。次のように動作し、24時間ごとに実行されます。
#!/bin/bash
#
test -f /tmp/today && mv -f /tmp/today /tmp/yesterday
find / -type f | sort > /tmp/today
test -f /tmp/yesterday && comm -13 /tmp/yesterday /tmp/today