2013-04-18 11 views
167

など。私のUbuntuマシンでMysqlサーバーが実行されています。過去24時間に一部のデータが変更されました。スクリプト:過去24時間にファイルが変更されたことを確認してください。

過去24時間以内に変更されたファイルは(Linux)のどのスクリプトで見つけることができますか?

ファイル名、ファイルサイズ、および変更時刻を記載してください。

+1

あなたはhttp://stackoverflow.com/questions/4561895/how-to-recursively-find-the-latest-modified-file-in-a-directory – vaugham

答えて

321

特定の特定のディレクトリとそのサブディレクトリ内の最後の24時間(最後のフルの日)に変更されたすべてのファイルを検索する:

find /directory_path -mtime -1 -ls 

は、お好みに合わせてであるべき

1-重要なことです。これは、1日前またはそれ以前に変更されたことを意味します。 +の前に、1は、少なくとも1日前に変更されたものを意味し、1はそれが1日前に変更されたことを意味するとは言いませんでした。

+8

niceを使用することができます。最後の2時間はいかがですか? – JackWM

+73

mtime – Xavjer

+0

の代わりに "-mmin -120"を使用してください。このコマンドに変更されたファイルがある場合は、戻り値を取得しますか? – Spartan

29

あなたはman findから

find . -mtime 0 

でそれを行うことができます。

[ザ・各ファイルが最後に変更されてから時間が24時間で分割され、任意の残りは破棄されます。つまり、 と一致する-mtime 0の場合、ファイルは過去24時間以内に変更されている必要があります。これは、過去24時間に変更されたファイルやディレクトリの一覧が表示されます

find . -mtime 0 -printf '%T+\t%s\t%p\n' 2>/dev/null | sort -r | more 

5

このコマンドは、GNU互換システム(つまり、Linux)の上で私のために

find . -mtime -1 -print 
6

を働きました(-mtime 0)。ソート可能で人間が判読可能な形式(%T+)、ファイルサイズ(%s)、フルファイル名(%p)、タブで区切られた形式(\t)で最後に変更された時刻でリストされます。

2>/dev/nullは、エラーメッセージがウォーターを濁らせないように、標準出力をスローします。 sort -rは、最も最近修正された順に結果をソートします。 | moreは、一度に1ページの結果を一覧表示します。

(私を含め)今後、ここに上陸他人のために
+0

また、 '| 'の代わりに' less'を使います。もっと '、私は思います。 –

1

、例えば、特定の種類のファイルを見つけるために、-nameオプションを追加します。find /var -name "*.php" -mtime -1 -ls

+1

*を二重引用符で保護する必要があります。それ以外の場合は、コマンドラインで展開します。 'find/var -name" * .php "-mtime -1 -ls' – jytou

3

別の方法:

find /<directory> -newermt "-24 hours" -ls 

かを:

find /<directory> -newermt "1 day ago" -ls 

か:

find /<directory> -newermt "yesterday" -ls 
関連する問題