🌪️
Macで巨大なファイルを転送する(rsync)ときのメモ
ときどき必要になるのですが、いつもかなり忘れてしまうので、備忘録を残しておきます。
大きなファイルをコピーする際、ファイルアプリからドラックドロップだと、ファイル数によっては数日といった予想が出てきて気が狂いそうになります。
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
備考
Discussion