̃Gg[͂ĂȃubN}[Nɒlj

Unix :: コマンド / rsync



コマンド説明
rsyncリモートホストのファイルやディレクトリの同期を行うアプリケーションソフトウェア


同期を行う

以下の条件で同期を取る設定

  • 同期元ディレクトリ:exsample.com:/path/to/sync (この例ではリモートホスト)
  • 同期先ディレクトリ:/path/to/sync (この例ではローカルホスト)
  • 除外ファイル、ディレクトリ:「hoge」が含まれるファイル、ディレクトリは同期対象から外す
% rsync -ar --delete --exclude="hoge" exsample.com:/path/to/sync /path/to/sync

※. 同期元と同期先は入れ替えることも可能。オリジナルを常に同期元にする


オプション説明
aアーカイブモード。ディレクトリ内に含まれる全てのファイル、ディレクトリを、シンボリックリンク、パーミッション属性、グループ属性、所有者属性、タイムスタンプを保持したまま同期
r指定したディレクトリ以下の各ディレクトリも再帰的にバックアップする
—deleteバックアップ元で削除されたファイルはバックアップ先でも削除する。—deleteは、2回目以降の転送時に付けます
—excludeパターン一致するファイルを除外


ssh秘密、公開鍵を使った同期

ローカルユーザ「superman」の秘密鍵を使って、リモートユーザ「superman」としてログインして同期を取る

  • ローカルホスト(/home/superman/.ssh/id_rsa)にユーザ「superman」の秘密鍵が登録されていなければならない
  • リモートホスト(/home/superman/.ssh/authorized_keys)にユーザ「superman」の公開鍵が登録されていなければならない
% rsync  -e "ssh -i /home/superman/.ssh/id_rsa -l superman" \
exsample.com:/path/to/sync /path/to/sync



unix/command/rsync.txt