古いファイルを上書きしないように同期
この場合、rsync コマンドの
-u オプションをつかう
本来は、2つのマシンでやる予定だったけど
用意できなかったので、今回はローカルで実践
rsync コマンドについては
rsync – 高速なファイル同期(バックアップ) – Linuxコマンド
を参考に
まずはテストディレクトリを作成して実験
mkdir test
次にサンプルを書籍のものをつかうことに
cp -rp ~/GihyoShellBookSamples-master/chapter3/事務 .
もう一つ作成したディレクトリにもコピー
cd test cp -rp ~/GihyoShellBookSamples-master/chapter3/事務 .
これで準備ok
cd vim 事務/厄介な仕事.txt
でファイルを編集し
1行目末尾に done を追加
その後、rsync で同期する
rsync -av 事務/ test/事務/
これで同期するけど
このとき間違えて
test 側から同期するとデータが古くなってしまう
rsync -av test/事務/ 事務/
となってしまうとデータが古くなる
この対策として
-u オプションをつける
これをつけることで
タイムスタンプを比較し
新しいものを残すようになる
rsync -avu test/事務/ 事務/
これで更新したファイルだけ同期になる
なお、これだけだと、test のほうは古いままなので
rsync -avu 事務/ test/事務/ cat test/事務/厄介な仕事.txt
というように相互に行えば
更新したファイルを相互に同期することができる
注意点は、ファイルの変更の有無ではなく
タイムスタンプなので
ファイルを開いて保存するだけでも対象になってしまうこと
今回はローカルでのファイルだけど
これをリモートマシンでやれば
簡易バックアップができる