こんにちは、納戸工房です!
今日は、データのバックアップに便利なツール「rsync」についてお話しします。rsyncは、ファイルの同期やバックアップに非常に役立つコマンドラインツールです。特に、進行状況を確認しながらバックアップを行いたい方にとって、rsyncは強力な味方となります。
rsyncの基本と注意点
まず、rsyncを使う際の基本的な注意点を押さえておきましょう。
- データの整合性: rsyncはファイルの差分を転送するため、転送元と転送先のデータが一致していることを確認することが重要です。
- パーミッションと所有権:
-a
オプションを使用することで、ファイルのパーミッションや所有権を保持したまま転送できます。 - 削除オプション: 転送元に存在しないファイルを転送先から削除する場合は、
--delete
オプションを使用します。 - ネットワーク負荷: 大量のデータを転送する場合、ネットワークに負荷がかかることがあります。必要に応じて、転送速度を制限するオプション(
--bwlimit
)を使用します。
プログレスを表示するオプション
rsyncの進行状況を表示するには、--progress
オプションを使用します。また、-v
オプションを追加することで、詳細な情報を表示できます。
コマンド例
以下は、rsyncを使ってデータをバックアップし、進行状況を表示するコマンドの例です:
rsync -avh --progress /path/to/source/ /path/to/destination/
-a
: アーカイブモード。ディレクトリ構造、シンボリックリンク、パーミッション、タイムスタンプ、所有者、グループ、特殊ファイルを保持します。-v
: 詳細モード。転送されるファイルのリストを表示します。-h
: 人間に読みやすい形式で出力します(例:サイズをKB、MB、GBで表示)。--progress
: 各ファイルの転送進行状況を表示します。
スラッシュの有無による挙動の違い
rsyncでのスラッシュの有無による挙動の違いについても理解しておきましょう。
スラッシュあり (/)
- 送り元: ディレクトリの内容のみをコピーします。
- 送り先: 送り先ディレクトリの中に内容をコピーします。
例えば、以下のコマンドを考えてみましょう:
rsync -avh --progress /path/to/source/ /path/to/destination/
この場合、/path/to/source/
ディレクトリの中身(ファイルやサブディレクトリ)が/path/to/destination/
ディレクトリの中にコピーされます。
スラッシュなし
- 送り元: ディレクトリ自体を含めてコピーします。
- 送り先: 送り先ディレクトリの中にディレクトリごとコピーします。
例えば、以下のコマンドを考えてみましょう:
rsync -avh --progress /path/to/source /path/to/destination/
この場合、/path/to/source
ディレクトリ自体が/path/to/destination/
ディレクトリの中にコピーされ、その結果、/path/to/destination/source/
というディレクトリが作成されます。
まとめ
- スラッシュあり: ディレクトリの内容のみをコピー。
- スラッシュなし: ディレクトリ自体を含めてコピー。
この違いを理解して、適切にrsyncコマンドを使用することで、意図した通りのバックアップや同期が行えます。
コメント