Linux
redhat
Linuxコマンド

ディレクトリ間で差分コピーする場合

必要ファイルをうっかり削除してしまい、バックアップからディレクトリ間の差分コピーを行う必要があったのですが、その時に実行したコマンドの備忘録です。

shopt -s dotglob

/bin/cp -upr -v srcdir/* dstdir/ &> logfile.log &

補足

  • シェル組み込みのshoptコマンドでアスタリスクが隠しファイルも対象に含めるように変更します(アスタリスクのデフォルトは隠しファイルを含まないため)
  • cpコマンドはデフォルトのエイリアス指定で-iオプションを含んでいたため、フルパス指定にしておきます(エイリアスの一時的な無効でもいけると思います)
  • cpコマンドの-uオプションで差分コピーを行います(コピー先の方がタイムスタンプが古い、もしくはコピー先にない場合にのみコピーするオプション)
  • 念のため、差分コピー結果をログファイルにリダイレクトしておきます