すべての記事

Mac で中断されたファイルのコピーを再開する方法

· 8分で読めます

NAS や外付けディスクへのコピーが途中で止まってしまう。Wi-Fi が切れた、ケーブルに手が当たった、Mac がスリープした――よくあることです。最近の macOS なら、Finder は止まったところから続けられることが多く、コピー先に残ったグレー表示の項目を右クリックして、コピーを再開する項目を選びます。その項目が出ないときは、ターミナルの rsync で最初からやり直さずに続きを実行できます。そして、ほかのディスクへの大きなコピーが日常的な作業なら、ボリュームを待って自動的に再開するファイルマネージャを使えば、付きっきりで見守る必要がなくなります。

Finder で中断されたコピーを再開する

macOS Monterey 以降、途中で止まった Finder のコピーはそのまま消えてしまうわけではありません。書き込み中だったファイルはグレー表示の項目としてコピー先に残り、Finder はどこまで進んだかを覚えています。

  1. コピー先のフォルダ(NAS、外付けディスク、または別のフォルダ)を開きます。
  2. コピーしていたものと同じ名前のグレー表示の項目を探します。
  3. その項目を右クリック(または Control キーを押しながらクリック)して、コピーを再開する項目を選びます。

ファイル全体を書き直すのではなく、止まったところからコピーが続きます。最初からやり直したい場合は、グレー表示の項目を削除してもう一度コピーします。

Finder で再開できないとき

この項目はいつも表示されるとは限りません。よくあるケースを知っておくと役立ちます。

  • コピー先のディスクが取り外された、またはネットワーク共有が切断された。 まず共有やディスクを接続し直し(サーバなら、Finder で ⌘K を押すと接続ウインドウが開きます)、グレー表示の項目がまだ残っているか確認します。消えてしまっていて、コピーをやり直すしかないこともあります。
  • フォルダごとコピーしていた。 再開の対象は中断されたファイルだけで、Finder がまだ手を付けていなかったファイルはコピーされません。2 つのフォルダを見比べて足りないものだけをコピーするか、後述の rsync に任せましょう。
  • コピーが止まったのではなく、エラーで終わった。 1 つのファイルのエラーで操作全体が終わってしまうことがあります。どのファイルだったかを控えて残りをコピーし、そのファイルは別に対処します。

Finder は応答しなくなったサーバを待ってはくれません。ネットワークが少し途切れただけで、長いコピーがエラーで終わってしまうこともあります。

ターミナルの rsync でコピーを再開する

rsync はコピー元とコピー先を比べ、足りないものや違うものだけを送ります。そのため、中断のあとに同じコマンドをもう一度実行すれば、コピーの続きになります。

rsync -ah --partial --progress ~/Movies/Project/ /Volumes/NAS/Project/
  • -a は日付、アクセス権、フォルダ構成を保ちます。-h はサイズを読みやすく表示します。
  • --partial は途中までコピーしたファイルを削除せずに残し、次の実行で送信済みの部分を使えるようにします。
  • --progress は進行中のファイルを 1 つずつ表示します。
  • コピー元の末尾のスラッシュ(Project/)は、フォルダの中身をコピー先のフォルダに入れるという意味です。

接続が切れたら、まったく同じコマンドをもう一度実行します。完全にコピー済みのファイルは飛ばされ、コピーが先へ進みます。macOS に付属の rsync は古いか機能を絞ったバージョンです。オプションが受け付けられない場合は、Homebrew で入れた最新の rsync(brew install rsync)ならすべて使えます。

長い転送中に Mac がスリープしないようにするには、コマンドの前に caffeinate -i を付けます。

caffeinate -i rsync -ah --partial --progress ~/Movies/Project/ /Volumes/NAS/Project/

Folia Files で、中断に強い大きなコピーを

大きなフォルダを NAS、サーバ、外付けディスクへ頻繁に移すなら、Folia Files が中断への対処を引き受けます。コピーはファイルごとに進み、途中でボリュームが応答しなくなっても、失敗せずに戻ってくるのを待ちます。

Folia Files の 2 つのパネル:左に旅行の写真、右にクラウドのフォルダ

待ってから、自動的に再開するコピー

片方のパネルにコピー元、もう片方にコピー先を開き、コピーするものを選んで F5(ファイル › もう一方のパネルにコピー)を押すか、項目をドラッグします。コピー中に共有やディスクが消えると、操作の進行状況の行に**「NAS」を待機中… コピーは自動的に再開されます**と表示されます。ディスクを接続し直すかネットワークが戻れば、止まったところからコピーが続きます。

  • すでに完全にコピーされたファイル(サイズと日付が同じもの)は認識され、そのままにされます。
  • ほかのディスクにコピーする大きなファイル(64 MB 以上)はブロック単位で書き込まれ、最初からではなく、最後に書き込まれたバイトから続きます。
  • コピー先にあるファイルのうち、コピー元と異なり、このコピーが残したものではないファイルは決して上書きされず、報告されます。

待ち時間は設定 › ファイルとネットワーク › コピーで設定します。ボリュームを待つ最大時間は 30 秒から 15 分まで(標準は 2 分)です。

あとで再開。アプリを終了したあとでも

時間内にボリュームが戻らなければ、コピーはコピーが中断されましたという通知とともに止まります。コピー済みの分はそのまま残り、ディスクやサーバが再び使えるようになったら再開でそこから続けられます。コピーの途中で Folia Files を終了したり Mac を再起動したりした場合は、次の起動時に完了していないコピーがありますと表示され、同じ再開ボタン(または登録解除)が使えます。

読み込めないファイルは名前を挙げて報告され、残りのコピーはそのまま続きます。壊れたファイルが 1 つあっても、操作全体が止まることはもうありません。

検証、スリープ防止、ディスクごとに 1 つずつ

コピーセクションのほかの設定も、長い転送に役立ちます。

Folia Files の設定 › ファイルとネットワーク、コピーのセクション

  • ほかのディスクにコピーしたすべてのファイルを検証(読み戻して比較、低速):コピーをすべて読み戻して元のファイルと比較します。一致しないコピーは削除され、報告されます。
  • コピー、バックアップ、読み込みの間は Mac をスリープさせない:標準でオンです。画面は消えることがあり、MacBook のふたを閉じればスリープします。
  • コピー先のディスクごとに一度に1つのコピー(ほかは順番待ち):同じ NAS への 2 つのコピーが速度を奪い合いません。
  • ネットワークボリュームへの最大速度:大きなアップロード中も、ほかの通信のための帯域を残します。

応答しなくなったサーバのせいでアプリが固まることもありません。コピーが待っている間も、ウインドウのほかの部分はそのまま使えます。これらのコピー機能は、Web サイト版でも Mac App Store 版でも同じように動作します。

どの方法を選ぶ?

  • 大きなファイル 1 つ、中断は 1 回だけ:まず Finder での再開を試します。
  • フォルダごと、または Finder で再開できない:rsync -ah --partial を、終わるまで繰り返し実行します。
  • NAS、サーバ、外付けディスクへの大きなコピーが日常的:ボリュームを待ち、自動的に再開し、ファイルごとに検証もできるコピー。Folia Files はまさにそのために作られています。

コピーが終わってもディスクが取り出せないときは、「使用中」のディスクを取り出す方法をご覧ください。システムに何もインストールせずに SFTP や S3 へコピーするなら、macFUSE なしで SFTP と S3 に接続する方法も参考になります。