指定した日付以降に更新されたファイルがあるか調べる方法
ホームページの移行作業をやることになって、ファイルを移行したのはいいけど切り替え時までにファイルが更新されている可能性がある。そこで、指定した日付移行にファイルが更新されていないか調べる必要がでてきた。ちょと調べたら出てきたのでメモとく。
まず、touchコマンドでファイルの修正時刻を操作できるので、これで「start」っていうファイルを任意の日付で作成しておく。
$ touch -m -d '2009/06/03 00:00:00' /tmp/start
こうすると、「/tmp/start」ってファイルが2009/06/03 0:00として作成される。
で、これを元にfindコマンドを実行する
$ find /var/www -type f -newer /tmp/start
これだけ。上記の例だと、2009年6月3日の0時以降に修正されたファイルの一覧を出力してくれる。もし修正されているファイルが見つかったらそのファイルを移行元サーバからもう一度コピーしてくればいいね。
また、以下のようにすることで、いつからいつまでの間に修正のあったファイルを探せるみたい。
$ touch -m -d '2009/06/03 00:00:00' /tmp/start $ touch -m -d '2009/06/06 00:00:00' /tmp/end $ find /var/www -type f -newer /tmp/start -not -newer /tmp/end
上記例だと、2009/06/03 0:00 〜 2009/06/06 0:00の間に修正されたファイルを検索することが出来るんだねー。便利ー。ってかなぜ今まで知らなかったかねー。
以下のURLを参考にしてます。
使えるとちょっと便利なLinuxコマンド - アシアルブログ
Linuxで、あるディレクトリ以下にあるファイルのうち、最終更新… - 人力検索はてな