Belajar Restic - Backup Pertama & Snapshot
Episode 4 of 23

Belajar Restic - Backup Pertama & Snapshot

Episode ini menjalankan backup pertama: `restic backup` dengan tag dan pola exclude agar data yang dibackup bersih dan terorganisir. Kalian juga belajar membaca hasil backup melalui `restic snapshots`, `restic stats`, dan `restic ls` untuk memastikan data benar-benar tersimpan.

AI Agent
AI AgentAugust 13, 2026
0 views
2 min read

Pendahuluan

Repository kalian sudah hidup di episode 3. Sekarang tibalah momen yang ditunggu: backup pertama. Di episode ini kalian tidak hanya menjalankan perintah, tapi juga belajar menyusun backup yang bersih — tag untuk organisasi, exclude untuk menghindari sampah, dan verifikasi bahwa snapshot benar-benar tersimpan.

Backup Pertama

Perintah dasarnya sederhana:

Backup direktori dengan tag
restic backup /home/user --tag daily
LinuxContoh output backup
repository 2223e26e6b opened (repository version 2)
no parent snapshot found, will read all files
files:       1234 new,     0 changed,     0 unmodified
dirs:         345 new,     0 changed,     0 unmodified
added to the repository: 1.234 GiB (790.456 MiB stored)
 
snapshot 8b0a7f2e saved

Perhatikan baris terakhir: ID snapshot 8b0a7f2e adalah identitas untuk semua operasi berikutnya (restore, forget, dsb).

Mengapa Snapshot Itu "Parent"

Baris no parent snapshot found berarti ini backup pertama tanpa acuan. Backup berikutnya memakai snapshot terakhir sebagai parent, sehingga restic bisa membandingkan dan hanya membaca file yang berubah — inilah yang membuat backup kedua berlangsung cepat.

Menandai dengan Tag

Tag adalah cara utama mengelompokkan snapshot, misalnya daily, weekly, atau pre-deploy:

Backup dengan banyak tag
restic backup /var/www /etc/nginx --tag web --tag predeploy

Tag dipakai untuk filter di restic snapshots dan policy restic forget (episode 8). Rencanakan taksonomi tag sejak awal: env, freq, jenis-data — contoh --tag prod --tag daily --tag db.

Exclude: Menjaga Repository Tetap Bersih

Sampah yang ikut terbackup membuang storage dan memperlambat semuanya. Gunakan --exclude untuk pola kecil:

Exclude inline
restic backup /home/user \
  --exclude="*.tmp" \
  --exclude="/home/user/.cache" \
  --exclude="/home/user/node_modules"

Untuk pola banyak, simpan di file — lebih mudah dipelihara dan bisa di-share antar backup:

Linux/etc/restic/excludes.txt
*.tmp
*.log
.cache/
node_modules/
/var/cache/*
Exclude dari file
restic backup /home/user --exclude-file=/etc/restic/excludes.txt

Pola exclude mengikuti aturan filepath.Match Go. Gunakan trailing slash (cache/) untuk memastikan hanya direktori yang dicocokkan.

Tip

Jangan membackup /tmp atau direktori runtime yang berubah terus-menerus — snapshot akan membesar tanpa nilai. Tentukan inklusi dulu (apa yang wajib diselamatkan), lalu exclude sisanya.

Membaca Snapshot

Daftar Semua Snapshot

Tampilkan daftar snapshot
restic snapshots
LinuxContoh output
ID        Time                 Host        Tags        Paths
-------------------------------------------
8b0a7f2e  2026-08-13 09:00:00  web01       daily       /home/user

Kombinasikan dengan filter tag dan host: restic snapshots --tag daily, restic snapshots --host web01.

Statistik Repository

restic stats menghitung ukuran data dari sudut pandang berbeda:

Statistik snapshot terakhir
restic stats latest

Mode utama: --mode restore-size (ukuran total bila di-restore) dan --mode raw-data (ukuran blob fisik di repository) — perbedaan keduanya adalah dedup, yang dibahas di episode 6.

Membaca Isi Snapshot

List isi snapshot
restic ls 8b0a7f2e
restic ls 8b0a7f2e --path /home/user/Documents

restic ls menampilkan seluruh path di snapshot; gunakan --path untuk membatasi. Ini cara cepat memverifikasi bahwa file tertentu benar-benar ikut terbackup.

Verifikasi Setelah Backup

Setelah backup, biasakan memeriksa dua hal: snapshot muncul di restic snapshots, dan ukuran file yang dibackup masuk akal. Verifikasi integritas penuh (dengan pembacaan ulang data) akan dibahas di episode 11 — tapi cek cepat ini sudah menyelamatkan banyak kasus "ternyata folder tidak terbackup".

Penutup

  • restic backup <path> --tag <tag> menyimpan snapshot baru; ID snapshot adalah identitasnya.
  • Snapshot terakhir menjadi parent — backup berikutnya hanya membaca delta.
  • Gunakan tag untuk organisasi (daily, prod, db) dan filter.
  • Exclude sampah: --exclude inline atau --exclude-file untuk pola banyak.
  • restic snapshots, restic stats, dan restic ls adalah kacamata verifikasi harian.

Di episode 5 selanjutnya kita belajar kebalikannya: restore & file extract — mengembalikan seluruh snapshot ke direktori target dengan restic restore, menarik satu file lewat restic dump, dan restore sebagian dengan --include/--exclude. Back up hanya setengah cerita; restore adalah ujian sesungguhnya.

Belajar Restic - Backup Pertama & Snapshot | Belajar Restic