例如Mysql服務器正在我的Ubuntu機器上運行。有些數據在過去24小時內發生了變化。腳本:查找過去24小時內的文件已更改
什麼(Linux)腳本可以找到過去24小時內發生更改的文件?
請列出文件名稱,文件大小和修改時間。
例如Mysql服務器正在我的Ubuntu機器上運行。有些數據在過去24小時內發生了變化。腳本:查找過去24小時內的文件已更改
什麼(Linux)腳本可以找到過去24小時內發生更改的文件?
請列出文件名稱,文件大小和修改時間。
你可以做到這一點與
find . -mtime 0
從man find
:
[的]時間,因爲每個文件的最後修改有24小時的劃分和任何其餘被丟棄。這意味着對於 match -mtime 0,文件將不得不在過去不到24小時前進行修改。
此命令爲我工作
find . -mtime -1 -print
在GNU兼容的系統(如Linux)的:
find . -mtime 0 -printf '%T+\t%s\t%p\n' 2>/dev/null | sort -r | more
這將列出文件,並已在過去24小時內被修改目錄(-mtime 0
)。它將以最後一次修改時間以可排序和可讀的格式(%T+
),後跟文件大小(%s
),後跟全文件名(%p
),每個由製表符(\t
)分隔)列出它們。
2>/dev/null
拋棄任何stderr輸出,以便錯誤信息不會混淆水域; sort -r
對最近修改的結果進行排序;和| more
一次列出一頁結果。
你也可以使用'|更少'而不是'|更多',我想。 –
對於其他人誰在未來的(包括我自己)在這裏登陸,添加-name選項來找到特定的文件類型,例如:find /var -name "*.php" -mtime -1 -ls
您需要用雙引號保護*,否則它將在命令行上展開: 'find/var -name「* .php」-mtime -1 -ls' – jytou
另一種方式:
find /<directory> -newermt "-24 hours" -ls
或:
find /<directory> -newermt "1 day ago" -ls
或:
find /<directory> -newermt "yesterday" -ls
你可以使用http://stackoverflow.com/questions/4561895/how-to-recursively-find-the-latest-modified-file-in-a-directory – vaugham