🌪️

Macで巨大なファイルを転送する(rsync)ときのメモ

2024/05/25に公開

ときどき必要になるのですが、いつもかなり忘れてしまうので、備忘録を残しておきます。

大きなファイルをコピーする際、ファイルアプリからドラックドロップだと、ファイル数によっては数日といった予想が出てきて気が狂いそうになります。

rsyncコマンドは、ターミナルで動作するファイル転送コマンドです。

rsyncの導入・使い方

libiconvを入れることで、日本語が文字化けしなくなります。

brew install libiconv
brew install rsync

インストール後、ターミナルを再度開いてbrew版rsyncにPATHが通っていることを確認します。

nekono@mac ~ % which rsync
/usr/local/bin/rsync

以下でドライラン(/src/destへコピー)--log-file指定でログをファイル出力することができます。

rsync -avn --delete --log-file ~/rsync_$(date +%Y%m%d-%H%M%S).log /src /dest 

/src/ではなく/srcであることに注意です。/src/とすると、/src/*として処理されます。

満足行く予測結果を得たら、以下のコマンドで実行します。

rsync -av --delete --log-file ~/rsync_$(date +%Y%m%d-%H%M%S).log /src /dest

パーミッションを無視する場合

Sambaからの転送などで、パーミッションを無視する場合は、aオプションは過剰なので以下で済まします。

rsync -rtv --delete --log-file ~/rsync_$(date +%Y%m%d-%H%M%S).log /src /dest

すでに配置している内容に被せる場合

転送先にすでにファイルがある場合は、--deleteオプションを付けないようにします。

rsync -av --log-file ~/rsync_$(date +%Y%m%d-%H%M%S).log /src /dest

備考

https://qiita.com/BlueEventHorizon/items/209af1c9beaff669cd68

Discussion