先日、LLMモデルをコピーする際にcpコマンドをつかったのですが、大きなファイルならrsyncを使った方がいいということを知りました。
この記事ではrsyncについてまとめてみます。
なぜ cp ではなく rsync を使うのか
cp の弱点
cpをつかっていると以下のようなことが弱点に感じます。
- 進捗表示がない
- 転送がいつ終わるか分からない
- 中断すると最初からやり直し
rsync の利点
一方rsyncは以下のような機能を持っています
- 進捗表示あり
- 転送速度が表示される
- 残り時間が分かる
- 中断しても再開しやすい
- 差分コピーができる
大きなファイルを扱う場合は rsync が圧倒的に快適だと思います。
rsync が入っているか確認
rsyncはLinuxなら多くの場合インストールされていることが多いように思います。
which rsyncまたは
rsync --version無ければ:
sudo apt update
sudo apt install rsync基本コマンド(ローカルコピー)
基本的な使い方はcpコマンドとあまり変わりませんが、オプションが豊富です。
rsync -ah --progress *.gguf ~/LLM/models/phi4/オプション説明
-a: アーカイブモード(属性保持・再帰)-h: サイズを人間が読みやすい形式で表示--progress: 進捗表示
ディレクトリごとコピー
rsync -ah --progress /mnt/fileserver/phi4/ ~/LLM/models/phi4/※ 末尾 / を付けると「中身だけ」コピー
中断再開を意識する場合
rsync -ah --progress --partial *.gguf ~/LLM/models/phi4/--partial を付けると途中までのファイルを保持する。
既存ファイルを上書きしない
rsync -ah --progress --ignore-existing *.gguf ~/LLM/models/phi4/まとめ
基本的にはcpの方が軽い動作にはなるので、場合によってcpとrsyncを使い分けるとよさそうです。
- 小さいファイル → cp でも問題なし
- 数GBクラス → rsync を使うのが快適
- 多数のバックアップ→rsync必須


コメント