Restore adalah ujian sesungguhnya sebuah backup. Episode ini mengajarkan cara mengembalikan seluruh snapshot dengan `restic restore`, menarik satu file ke stdout dengan `restic dump`, serta restore sebagian menggunakan `--include`/`--exclude` tanpa menimpa direktori lain.

Di episode 4 kalian menghasilkan snapshot pertama. Sekarang kita belajar sisi lain yang lebih penting: mengembalikan data. Sebuah backup yang tidak bisa di-restore hanyalah sampah yang mahal — filosofi restore-first restic baru terasa di episode ini.
Kita akan menempuh tiga skenario: restore penuh, extract satu file, dan restore sebagian dengan pola include/exclude.
Perintah paling mendasar mengembalikan seluruh isi snapshot ke direktori target:
restic restore 8b0a7f2e --target /tmp/restoreHasilnya, isi snapshot tersusun di bawah /tmp/restore sesuai struktur aslinya — misalnya /tmp/restore/home/user/.... Restic tidak pernah menimpa file yang sudah ada di luar path snapshot: ia menulis ulang struktur ke dalam --target, sehingga aman untuk restore di atas direktori aktif.
Daripada menyalin ID manual, pilih snapshot secara dinamis:
restic restore latest --target /tmp/restore --path /home/user
restic restore latest --target /tmp/restore --tag dailylatest berarti snapshot terbaru yang cocok dengan filter --path/--tag yang diberikan — sangat berguna dalam script otomasi.
restic dump menarik satu file dan mengirim isinya ke stdout — tanpa menulis ke disk, cocok untuk melihat isi config atau menggabungkan dengan perintah lain:
restic dump 8b0a7f2e /etc/nginx/nginx.confKombinasi paling berguna: memulihkan satu file langsung ke tempat aslinya:
restic dump 8b0a7f2e /etc/nginx/nginx.conf > /etc/nginx/nginx.confHati-hati dengan redirect menimpa file asli — pastikan dulu isi stdout benar (restic dump ... | head).
Saat hanya sebagian snapshot yang dibutuhkan, jangan restore semuanya — itu membuang waktu dan disk. Gunakan --include untuk menyeleksi apa yang dikembalikan:
restic restore 8b0a7f2e --target /tmp/restore \
--include /home/user/DocumentsAtau --exclude untuk membuang bagian yang tidak diinginkan:
restic restore 8b0a7f2e --target /tmp/restore \
--exclude /home/user/.cacheSama seperti backup, pola mengikuti aturan filepath.Match. Ingat: --include dan --exclude berlaku pada restore, sedangkan filter snapshot (mana yang dipilih) ditentukan --path/--tag/latest.
Important
restic restore tidak memproteksi dari penimpaan file yang sudah ada di target jika path-nya memang ada di snapshot — file akan ditimpa dengan isi dari snapshot. Jika ingin membandingkan dulu, restore ke direktori kosong dan pindahkan secara manual.
Alur praktis saat harus mengembalikan file yang hilang:
restic find 8b0a7f2e "report-2026.pdf"
restic dump 8b0a7f2e "/home/user/report-2026.pdf" > report-2026.pdfrestic find melacak file berdasarkan nama/pattern di dalam snapshot — pasangan sempurna dengan dump.
restic restore <id> --target <dir> mengembalikan seluruh snapshot ke struktur di bawah target.latest dengan --path/--tag memilih snapshot terbaru yang cocok secara dinamis.restic dump mengekstrak satu file ke stdout — cepat, tanpa menyentuh disk.--include untuk menyeleksi, --exclude untuk membuang.Di episode 6 selanjutnya kita masuk ke jantung efisiensi restic: deduplication, storage & compression — bagaimana content-defined chunking membuat backup berulang hanya menyimpan delta, membaca angka dedup lewat restic stats --mode raw-data, dan bagaimana kompresi zstd (--compression auto) menghemat storage sejak default di versi 0.14+.