すでに転送済みのファイルを無視してscpする
ローカルサーバーからリモートサーバーに(もしくは逆方向に),
大量のファイルをscp
コマンドでコピーする際に,
途中でなんらかの原因でコピーが中断されてしまうことがありました.
また一から送信し直すのは時間がかかってしまうので,
すでにコピー済みのファイルを無視して転送する方法がないか調べたところ,
rsync
コマンドというものがあることがわかったので,こちらにメモを残しておきます.
rsync
コマンドとは
二つのサーバー間でファイルやディレクトリを同期するコマンドです.
その際に,コピー元と保存先で差分がある箇所のみ更新をしてくれます.
そのため,バックアップやミラーリングによく使われるみたいです.
rsync
の使い方
scp
と同じように
rsync [option] コピー元 保存先
とすることで,ファイルの同期が行われます.
その際に--ignore-existing
オプションを指定することで,
すでに保存先に存在するファイルは無視してくれます.
そのため,scp
によるコピーが途中で中断されても,
rsync
を実行することで,その途中からファイルのコピーができます.
ちなみに以下のようなオプションが使えます.
-v
... 詳細なログ出力を行う
-z
... ファイルを圧縮する
-u
... 保存先のファイルの方が新しい場合は無視する
--ignore-existing
... すでに存在するファイルは無視する.
その他のオプションに関しては,以下を参考にしてください.