【Linux】n日以内に更新あったファイルをリスト化する。別フォルダにコピーする

ツール

レポジトリによる管理がされている場合は問題ないのですが、CMSにより静的化されたファイルなど、実際のファイルがどうしても管理できない場合があります。
そのような状態で、最近更新があったファイルだけを知りたい場合に使いコマンドです

カレントディレクトリ「.」から10日以内の更新ファイルの一覧

find . -mtime -10

逆に10日以上前に更新があったファイル一覧の場合は+になる

find . -mtime +10

カレントディレクトリ「.」から10日以内の更新ファイルで特定の拡張子に絞った場合


find . -mtime -10 -type f \( -name '*.png' -o -name '*.gif' -o  -name '*.jpg' -o -name '*.jpeg' -o -name '*.pdf' -o -name '*.css' -o -name '*.js' \)

カレントディレクトリ「.」から10日以内の更新ファイルを同じ構造で別フォルダ「~/copy」にコピーする

-print0で|以降の指示を出せるように整形してxargsでcpコマンドを実行している


find . -mtime -10 -print0 | xargs -0 cp --preserve=timestamps --parents -t ~/copy

memo

mtime:最終変更日時
ctime:inodeの変更日時
atime:最終アクセス日時

コメント

タイトルとURLをコピーしました