📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 168行目: | 168行目: | ||
|} | |} | ||
</center> | </center> | ||
<br><br> | |||
== ディレクトリの同期 == | |||
ディレクトリを同期する場合は、<code>rsync -avz <同期元のディレクトリのパス>/ <同期先のディレクトリのパス>/</code>のように指定する。<br> | |||
同期先のディレクトリが存在しない場合は、自動的に作成される。<br> | |||
<br> | |||
<code>-a</code>オプションはアーカイブを意味するオプションで、サブディレクトリが存在する場合は、<br> | |||
<u>"サブディレクトリも処理する(再帰処理)"、"パーミッションやファイルのタイムスタンプを保持する"、"シンボリックリンクをシンボリックリンクのままコピーする"</u>等の動作となる。<br> | |||
また、ファイルのサイズとタイムスタンプが同じ場合は、更新されていないファイルとみなし、コピーから除外される。<br> | |||
<br> | |||
チェックサムで比較する場合は、<code>-c</code>オプションを併用して、<code>rsync -acvz ~</code>と指定する。<br> | |||
<br> | |||
<code>-v</code>オプションは、動作中の内容を表示するオプションである。<br> | |||
<code>-z</code>オプションは、転送データを圧縮するオプションである。<br> | |||
# rsyncコマンドの実行例 | |||
rsync -avz <同期元のディレクトリのパス>/ <同期先のディレクトリのパス>/ | |||
<br> | |||
ディレクトリ指定時の注意点を、以下に示す。<br> | |||
同期元のディレクトリ末尾の<code>/</code>を省略した場合、同期先のディレクトリの中に同期元と同じ名前のディレクトリが作成される。<br> | |||
<br> | |||
例えば、<code>rsync -avz mydata/ backup-mydata/</code>コマンドを実行する場合、mydataディレクトリ内のファイルやディレクトリがbackup-mydataディレクトリ内にコピーされる。<br> | |||
<br> | |||
これに対して、<code>rsync -avz mydata backup-mydata/</code>コマンドを実行する場合、backup-mydata内にmydataディレクトリが作成されることになる。<br> | |||
なお、同期先ディレクトリの末尾の<code>/</code>の有無はどちらでもよい。<br> | |||
<br><br> | |||
== 異なるホスト間でディレクトリを同期する == | |||
異なるホスト間でディレクトリを同期する場合、<br> | |||
同期元や同期先を<code><IPアドレスまたはホスト名>:<ディレクトリのパス></code>または<code><ユーザ名>@<IPアドレスまたはホスト名>:<ディレクトリのパス></code>と指定する。<br> | |||
<br> | |||
ネットワークの回線速度が遅い環境で大きなファイルを転送する場合、<code>-z</code>オプションで転送データを圧縮するとよい。<br> | |||
<br> | |||
また、大きなファイルを転送している時にエラーで失敗する場合、<code>--partial</code>オプションを指定することにより、rsyncコマンドの再実行時に"続き"から再開することができる。<br> | |||
この時、<code>--partial-dir=<ディレクトリのパス></code>オプションでコピー中のファイルを保存する場所を指定することもできる。<br> | |||
# コマンドの実行例 (異なるホスト間でディレクトリを同期する) | |||
rsync -avz --delete --rsh="ssh" <同期先PCのディレクトリのパス> <同期元PCのユーザ名>@<同期元PCのIPアドレスまたはホスト名>:<同期元PCのディレクトリのパス> | |||
rsync -avz --delete --rsh="ssh" <同期元PCのユーザ名>@<同期元PCのIPアドレスまたはホスト名>:<同期元PCのディレクトリのパス> <同期先PCのディレクトリのパス> | |||
rsync -avz --delete --rsh="ssh -p <ポート番号> -i <暗号鍵ファイルのパス>" \ | |||
<同期先PCのディレクトリのパス> <同期元PCのユーザ名>@<同期元PCのIPアドレスまたはホスト名>:<同期元PCのディレクトリのパス> | |||
rsync -avz --delete --rsh="ssh -p <ポート番号> -i <暗号鍵ファイルのパス>" \ | |||
<同期元PCのユーザ名>@<同期元PCのIPアドレスまたはホスト名>:<同期元PCのディレクトリのパス> <同期先PCのディレクトリのパス> | |||
<br><br> | <br><br> | ||