[英]Bash script find directories with modified files in it
對於備份腳本中的使用,我正在尋找一種方法來查找自特定時間以來已被修改的所有文件夾。 我得到了這個:
find ./ -maxdepth 1 -mtime -1 -type d
不幸的是,這不會返回任何結果,因為目錄本身沒有被修改,只有一些目錄中的內容。 完整的腳本現在是:
repodir=/somepath
backupdir=/someotherpath
find . -mtime -1 -type d -maxdepth 1|while read repo; do
svnadmin dump -q $repodir/$repo | bzip2 -9 > $backupdir/$repo-`date +%F`.dump.bz2
done
嘗試這個:
find . -mindepth 2 -type f -mtime -1 | sed 's,^\./,,;s,/.*$,,' | sort -u | \
while read repo; do
svnadmin dump -q $repodir/$repo | bzip2 -9 > $backupdir/$repo-`date +%F`.dump.bz2
done
它在子目錄中搜索已更改的文件,然后從路徑中刪除除第一個目錄組件之外的所有文件,並使用sort -u
刪除重復項。 請注意,它還會從結果中./
初始./
,但看起來您並不真正想要/需要該部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.