Jawaban singkat: Menyiapkan cadangan adalah Time Machine yang mencari tahu apa yang berubah sejak terakhir kali. Biasanya ia dapat membacanya dari log perubahan yang disimpan sistem. Saat log itu tidak dapat digunakan, ia menelusuri setiap file di disk, dan itulah perbedaan antara empat puluh detik dan empat jam.
Perintah di bagian berikutnya memberi tahu mana dari keduanya yang terjadi, sehingga Anda bisa berhenti menebak.
Sebelum menyalin satu byte pun, Time Machine harus memutuskan apa yang disalin. macOS menyimpan log berjalan perubahan sistem file yang disebut FSEvents, dan dalam kasus baik Time Machine menanyakan log itu semua yang berubah sejak pencadangan terakhir, yang hanya butuh beberapa detik bahkan di disk penuh.
Dalam kasus buruk, log itu tidak dapat menjawab. Lalu Time Machine beralih ke pemindaian mendalam, yaitu membandingkan setiap file di sumber dengan cadangan terakhir, satu per satu. Di Mac dengan sejuta file, kebanyakan kecil, itu pekerjaan berjam-jam sebelum apa pun disalin. Bilah kemajuan tidak memberi tahu Anda soal ini. Keduanya tertulis "Menyiapkan cadangan".
Dua perintah. Tidak ada yang mengubah apa pun.
tmutil status
Cari Percent dan BytesCopied. Selama fase menyiapkan yang sebenarnya, keduanya tetap nol, dan itu wajar. Yang Anda butuhkan adalah log, yang menyatakan dengan jelas jalur mana yang diambil:
log show --predicate 'subsystem == "com.apple.TimeMachine"' --last 1h --info | grep -i -E "deep|event|scan|prepar"
Baris yang menyebut Deep event scan atau event database is not usable adalah jawabannya. Time Machine sedang memindai semuanya. Baris tentang membaca event dan sejumlah kecil path berarti log perubahan berfungsi dan ada hal lain yang lambat.
Untuk memantaunya secara langsung, dan berhenti dengan Control-C:
log stream --predicate 'subsystem == "com.apple.TimeMachine"' --info
Tanpa cadangan sebelumnya untuk dibandingkan, seluruh disk dibaca. Beberapa jam itu normal untuk drive penuh melalui USB, dan jauh lebih lama melalui Wi-Fi. Pembaruan macOS juga membatalkan log perubahan, sehingga cadangan pertama setelahnya pasti pemindaian mendalam. Colokkan, biarkan semalaman, dan periksa di pagi hari sebelum melakukan hal lain.
Inilah kasus umum di Mac yang sudah berjalan cukup lama. Mati tidak normal, disk penuh, atau volume yang diperbaiki semuanya dapat membuat FSEvents tidak dapat digunakan, dan setelah itu setiap cadangan adalah pemindaian mendalam sampai ada yang membangunnya ulang. Cadangan tetap berfungsi. Hanya saja memakan waktu berjam-jam setiap kali.
Restart membangun ulang log untuk volume boot dalam banyak kasus, dan itulah hal termurah untuk dicoba.
Cadangan yang terputus meninggalkan folder berakhiran .inProgress di tujuan. Time Machine mencoba merekonsiliasinya sebelum memulai apa pun yang baru, dan di tujuan jaringan rekonsiliasi itu bisa lebih lama daripada cadangannya sendiri. Lihat di drive cadangan, di Backups.backupdb pada disk HFS+ atau di folder volume itu sendiri pada disk APFS.
Menghapus folder .inProgress membuang cadangan yang belum selesai dan tidak ada yang lain. Setiap cadangan yang selesai adalah folder terpisah dan tidak tersentuh. Pindahkan ke Tempat Sampah dari Finder, kosongkan Tempat Sampah, dan mulai pencadangan secara manual.
Pemindaian mendalam dibatasi oleh jumlah file, bukan ukurannya. Satu file video 40 GB adalah satu perbandingan. Direktori node_modules 40 GB bisa dua juta. DerivedData Xcode, cache npm dan yarn, image Docker, cellar Homebrew, dan pustaka Steam adalah tersangka biasa, dan semuanya dapat dibuat ulang.
Kecualikan di Pengaturan Sistem, Umum, Time Machine, Pilihan. Itu mempersingkat pemindaian sekaligus penyalinan, dan tidak mengorbankan apa pun yang akan Anda inginkan kembali.
Time Machine menulis image disk ke NAS atau Mac bersama, dan setiap perbandingan file itu melewati jaringan. Lewat Wi-Fi, dari ujung rumah, pemindaian mendalam bisa memakan waktu sehari. Pindahkan Mac ke dekat router, atau gunakan ethernet, lalu lihat apakah backup yang sama selesai dalam satu jam.
Jika tidak pernah selesai sama sekali, masalahnya lebih mungkin pada share itu sendiri, dan verifikasi adalah cara untuk mengetahui apakah yang sudah ada dapat dibaca.
.inProgress muncul. Time Machine dapat dihentikan dengan aman dari item bar menu atau dengan tmutil stopbackup.Menyiapkan cadangan adalah status, dan statusnya sama baik tugas akan selesai dalam semenit maupun tidak pernah. Angka yang sebenarnya Anda inginkan adalah kapan cadangan terakhir yang berhasil selesai, dan Time Machine menaruhnya di balik menu yang harus Anda buka.
Copy Shelter menampilkan umur cadangan terakhir yang selesai di layar utamanya, dan bersuara setelah tujuh hari tanpa cadangan. Copy Shelter juga menyebutkan fase yang sedang berjalan dan file yang sedang dikerjakan, sehingga tugas panjang terlihat sebagai tugas panjang dan tugas macet terlihat macet.
Dan saat pencadangan selesai, selesai hanyalah klaim tentang salinan yang belum diperiksa siapa pun. Copy Shelter membacanya kembali dengan hash yang disimpannya, sesuai jadwal, sehingga cadangan yang diam-diam tidak lagi dapat dibaca adalah hal yang Anda ketahui pada hari biasa.
Beberapa detik hingga beberapa menit saat log perubahan berfungsi, berapa pun ukuran disk. Berjam-jam saat beralih ke pemindaian mendalam. Perintah log di atas memberi tahu yang mana, dan itulah satu-satunya cara andal untuk mengetahuinya.
Ya. Belum ada yang ditulis selama fase itu. Hentikan dari item Time Machine di bar menu, atau jalankan tmutil stopbackup. Paksa keluar atau mencabut drive selama fase penyalinan itulah yang berisiko, dan itulah yang meninggalkan folder .inProgress.
Hanya jika Anda mengecualikan sesuatu yang tak tergantikan. Cache, direktori build, folder pengelola paket, dan pustaka game yang diunduh semuanya dapat dibangun ulang dari internet. Apa yang perlu dicadangkan di Mac membahas daftarnya.
Berarti Time Machine sedang memindai sumber, dan belum menulis. Aktivitas drive dimulai pada fase penyalinan. Jika satu jam output log sama sekali tidak menunjukkan apa pun dari subsistem TimeMachine, prosesnya sendiri mungkin macet, dan restart adalah langkah berikutnya.
Copy Shelter punya tugas yang sama dan dua cara yang sama untuk melakukannya, jadi proses pertama membaca semuanya. Bedanya, Copy Shelter menyebutkan fase yang sedang berjalan dan apa yang sedang dikerjakan, dan skor di layar utamanya menghitung cadangan terakhir yang selesai, tidak pernah yang baru dimulai.
Terkait: Time Machine menyatakan ruang tidak cukup, saat pencadangan berhenti berjalan tanpa kabar, dan perbandingan Copy Shelter dan Time Machine.