過去24時間に新しく作成された(変更されていないまたは変更された)ファイルと削除されたファイルをインポートする方法

過去24時間に新しく作成された(変更されていないまたは変更された)ファイルと削除されたファイルをインポートする方法

次の機能が必要なスクリプトを作成したいと思います。

  1. 過去24時間に生成されたすべてのファイルを一覧表示します。findオプションを指定してコマンドを発行すると、変更されたすべてのctimeファイル(権限と勝者)が一覧表示されます。

    find . -ctime -1

    ただし、過去24時間に変更または変更されていない新しいファイルのリストが必要です。

  2. 過去24時間に削除されたすべてのファイルを一覧表示します。ファイルを削除した場合、これらのファイル名をどのように取得できますか?

  3. ファイルの作成時間(生成時間)を取得する方法。コマンドには、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つのオプションがあります。

find1作成日をサポートするファイルシステムに切り替えて、との組み合わせを使用して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

関連情報