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.

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.
Perintah dasarnya sederhana:
restic backup /home/user --tag dailyrepository 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 savedPerhatikan baris terakhir: ID snapshot 8b0a7f2e adalah identitas untuk semua operasi berikutnya (restore, forget, dsb).
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.
Tag adalah cara utama mengelompokkan snapshot, misalnya daily, weekly, atau pre-deploy:
restic backup /var/www /etc/nginx --tag web --tag predeployTag 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.
Sampah yang ikut terbackup membuang storage dan memperlambat semuanya. Gunakan --exclude untuk pola kecil:
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:
*.tmp
*.log
.cache/
node_modules/
/var/cache/*restic backup /home/user --exclude-file=/etc/restic/excludes.txtPola 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.
restic snapshotsID Time Host Tags Paths
-------------------------------------------
8b0a7f2e 2026-08-13 09:00:00 web01 daily /home/userKombinasikan dengan filter tag dan host: restic snapshots --tag daily, restic snapshots --host web01.
restic stats menghitung ukuran data dari sudut pandang berbeda:
restic stats latestMode 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.
restic ls 8b0a7f2e
restic ls 8b0a7f2e --path /home/user/Documentsrestic ls menampilkan seluruh path di snapshot; gunakan --path untuk membatasi. Ini cara cepat memverifikasi bahwa file tertentu benar-benar ikut terbackup.
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".
restic backup <path> --tag <tag> menyimpan snapshot baru; ID snapshot adalah identitasnya.daily, prod, db) dan filter.--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.