Ilustrasi proses backup konfigurasi Samba di Debian 12 menggunakan shell script dengan output arsip tar.gz terenkripsi

Backup Manual Konfigurasi Samba di Debian 12

Artikel ini merupakan lanjutan dari Install dan Konfigurasi Samba di Debian 12 untuk Client Windows. Setelah Samba berjalan dengan baik, langkah selanjutnya yang sering diabaikan adalah membuat backup konfigurasi — mencakup file smb.conf, database user, dan password SMB.

Backup ini berguna dalam tiga skenario: pemulihan saat server bermasalah, migrasi konfigurasi ke server baru, dan cadangan sebelum melakukan perubahan besar pada konfigurasi. Proses dilakukan menggunakan sebuah shell script yang menghasilkan arsip .tar.gz berisi semua file penting beserta metadata restore.


Prasyarat

  • Samba sudah terinstall dan dikonfigurasi (lihat artikel sebelumnya)
  • Folder share sudah ada di /mnt/nfs-data/shared
  • User namauser sudah dibuat
  • Login sebagai root

Referensi Konfigurasi

ItemNilai Contoh
Folder backup/mnt/nfs-data/shared/backup-admin
User pemilik backupnamauser
Format nama filesamba-config-YYYY-MM-DD_HHMMSS.tar.gz
Lokasi log backup/var/log/samba-backup.log

Langkah 1 — Buat Folder Backup

Folder backup diletakkan di dalam folder share agar dapat diakses langsung dari Windows:

Verifikasi:

Catatan keamanan: File backup berisi database password Samba. Setelah backup selesai, segera pindahkan ke tempat aman dan hapus dari folder share.


Langkah 2 — Buat Script Backup

Paste seluruh isi berikut:

Catatan: Jika menggunakan Proxmox web console, paste teks panjang kadang dapat memotong baris. Verifikasi isi script di langkah berikutnya sebelum dijalankan.


Langkah 3 — Jadikan Script Executable


Langkah 4 — Verifikasi Isi Script

Pastikan baris pertama adalah #!/bin/bash dan terdapat baris yang mengandung cp -a "$f" "$STAGING$f". Jika ada karakter aneh atau baris terpotong, edit ulang dengan nano.


Langkah 5 — Jalankan Backup

Output akan menampilkan path file backup yang dihasilkan:

/mnt/nfs-data/shared/backup-admin/samba-config-2026-06-09_221824.tar.gz

Langkah 6 — Verifikasi Hasil Backup

Cek file backup:

Cek log:

Cek isi arsip:

Arsip yang valid akan memuat setidaknya:

etc/samba/smb.conf
var/lib/samba/private/passdb.tdb
var/lib/samba/private/secrets.tdb
var/lib/samba/account_policy.tdb
backup-meta/

Langkah 7 — Enkripsi File Backup dengan Password

File backup berisi data sensitif. Disarankan untuk mengenkripsinya sebelum disimpan atau dipindahkan.

Install zip jika belum tersedia:

Masuk ke folder backup:

Buat arsip zip terenkripsi (ganti NAMA_FILE dengan nama file backup yang baru dibuat):

Contoh:

zip -j -e samba-config-2026-06-09_221824.zip samba-config-2026-06-09_221824.tar.gz

Penjelasan flag:

FlagKeterangan
-jSimpan file tanpa menyertakan path direktori
-eAktifkan enkripsi dengan password

Verifikasi arsip zip:


Langkah 8 — Pindahkan Backup dari Windows

  1. Buka File Explorer di Windows
  2. Akses folder backup:
    \\192.168.1.60\Shared\backup-admin
  3. Salin file .zip ke lokasi aman (external HDD, cloud storage pribadi, atau perangkat lain)
  4. Setelah file tersimpan dengan aman, hapus dari server:

Cara Restore Backup

Langkah Restore

  1. Siapkan server Debian 12 baru, login sebagai root
  2. Install Samba:
    apt update && apt install samba -y
  3. Buat user Linux:
    useradd -M -s /usr/sbin/nologin namauser
  4. Buat folder share:
    mkdir -p /mnt/nfs-data/shared
    chown -R namauser:namauser /mnt/nfs-data/shared
    chmod 2770 /mnt/nfs-data/shared
  5. Salin file backup ke server (via SCP, SMB, USB, atau metode lain)
  6. Jika file backup terenkripsi, ekstrak dulu:
    unzip samba-config-YYYY-MM-DD_HHMMSS.zip
  7. Ekstrak backup ke root filesystem:
    tar xzf samba-config-YYYY-MM-DD_HHMMSS.tar.gz -C /
  8. Reload dan aktifkan Samba:
    systemctl daemon-reload
    systemctl restart smbd
    systemctl enable smbd
  9. Verifikasi akses dari Windows:
    \\IP-SERVER\Shared

Catatan: User SMB namauser beserta passwordnya akan langsung dapat digunakan tanpa perlu dikonfigurasi ulang, karena database password ikut di-restore dari backup.


Backup Berkala dengan systemd Timer (Opsional)

Untuk menjalankan backup secara otomatis setiap minggu, buat systemd service dan timer:

Aktifkan timer:

Catatan: Backup otomatis tidak disertai enkripsi password secara otomatis. Enkripsi perlu dilakukan secara manual terhadap file yang dihasilkan.


Troubleshooting

GejalaPenyebabSolusi
cp: 'etc/samba': No such file or directoryScript korup akibat paste via web consoleEdit ulang script dengan nano, pastikan loop menggunakan cp -a "$f" "$STAGING$f"
File backup ikut tersinkron ke Google DriveFolder backup-admin berada di dalam folder share yang disinkronkan rcloneTambahkan --exclude "backup-admin/**" pada script rclone, atau hapus file backup segera setelah dicopy
Permission denied saat menjalankan scriptScript belum executableJalankan chmod +x /usr/local/bin/backup-samba.sh
File backup tidak terlihat dari WindowsCache Windows atau permission folder salahTekan F5 di File Explorer; cek owner dan mode folder dengan ls -ld /mnt/nfs-data/shared/backup-admin
Password zip ditolak di Windows ExplorerWindows Explorer kurang mendukung enkripsi zipGunakan 7-Zip untuk mengekstrak file .zip terenkripsi

Cakupan Backup

Termasuk dalam backup:

  • Konfigurasi Samba (/etc/samba/smb.conf)
  • Database user dan password SMB (passdb.tdb)
  • Secret internal Samba (secrets.tdb)
  • Account policy (account_policy.tdb)
  • Metadata: hostname, info user, output testparm, status systemd
  • README restore singkat

Tidak termasuk dalam backup:

  • File data di dalam folder share
  • Konfigurasi rclone
  • Konfigurasi sistem lain di luar Samba

Referensi File

FileLokasi
Script backup/usr/local/bin/backup-samba.sh
Log backup/var/log/samba-backup.log
Folder backup sementara/mnt/nfs-data/shared/backup-admin
Konfigurasi Samba/etc/samba/smb.conf
Database password Samba/var/lib/samba/private/passdb.tdb
Secret Samba/var/lib/samba/private/secrets.tdb
Account policy/var/lib/samba/account_policy.tdb

Ringkasan Perintah


Referensi


Catatan Penutup

Artikel ini disusun berdasarkan pengujian langsung pada lingkungan berikut:

  • Sistem Operasi: Debian 12 (Bookworm)
  • Versi Samba: paket resmi dari repository Debian 12
  • Lokasi backup: folder share Samba yang dapat diakses dari Windows

Untuk keamanan, pastikan file backup selalu dienkripsi sebelum disimpan di lokasi manapun, termasuk di dalam folder share.


Leave a Reply

Your email address will not be published. Required fields are marked *