Kenapa backup yang sukses belum tentu bisa di-restore
Cek pertama: baca log backup, jangan cuma notifikasi
/usr/local/cpanel/logs/cpbackup/, satu file per sesi backup. Notifikasi email biasanya hanya ringkasan. Log inilah yang mencatat akun mana yang bermasalah dan di tahap apa.
BASH
# lihat beberapa log backup terbaru (read-only)
ls -lt /usr/local/cpanel/logs/cpbackup/ | head -5
# cari baris bermasalah di salah satu log (ganti NAMA_LOG)
grep -iE 'error|warn|fail' /usr/local/cpanel/logs/cpbackup/NAMA_LOG.logCek kedua: pastikan arsipnya utuh dan isinya masuk akal
.tar.gz di dalam folder tanggal, misalnya di bawah /backup/TANGGAL/accounts/. Path persisnya tergantung direktori tujuan dan tipe backup yang kamu pilih. Backup incremental dan uncompressed berbentuk folder, bukan satu file. Untuk tipe itu, periksa isi foldernya langsung.
BASH
# tanggal dan nama user di bawah ini hanya contoh
ARSIP='/backup/2026-10-19/accounts/namauser.tar.gz'
# uji integritas kompresi
gzip -t "$ARSIP" && echo 'gzip OK'
# lihat apakah komponen utama ada di dalam arsip
tar -tzf "$ARSIP" | grep -E '/(homedir|mysql|dnszones)/' | head -20
# bandingkan dengan ukuran data asli di server
du -sh /home/namauser /var/lib/mysql/namauser_*gzip -t dan tar -tzf membaca seluruh file, jadi sebaiknya jalankan di luar jam sibuk supaya tidak menambah beban I/O.
Yang perlu kamu cari dari hasilnya: gzip -t harus selesai tanpa error, karena arsip yang terpotong biasanya gagal di sini. Daftar isi arsip harus memuat folder untuk home directory, database, dan zona DNS. Nama foldernya bisa sedikit berbeda antar versi. Di folder database, pastikan ada file dump untuk setiap database milik akun itu, bukan cuma sebagian.
Perbandingan ukuran dengan du memang kasar, karena arsip terkompresi dan dump SQL ukurannya tidak sama dengan file data MySQL. Tapi perbandingan ini cukup untuk menangkap kejanggalan besar. Misalnya, data asli belasan GB tapi arsipnya cuma beberapa MB, atau database yang jelas berisi data dump-nya hampir kosong. Lokasi data MySQL juga bisa berbeda kalau datadir server pernah diubah.
Kalau ada yang terlihat kurang, cek file exclude, baik yang global maupun yang ada di home user. Folder seperti cache, log, atau backup buatan plugin memang wajar di-exclude. Tapi kadang yang ikut ter-exclude adalah folder upload atau data aplikasi.
Cek ketiga: restore uji di server terpisah
- Salin satu arsip akun ke server uji, misalnya dengan
rsyncatauscp. Pilih akun yang mewakili, misalnya website dengan database aktif dan beberapa akun email. - Sebelum restore, pastikan server uji tidak tergabung di DNS cluster yang sama dengan produksi. Kalau tergabung, zona hasil restore bisa ikut tersinkron ke cluster dan mengganggu DNS akun yang sedang live.
- Pertimbangkan untuk membatasi email keluar dan cron di server uji. Cron hasil restore akan ikut aktif, dan skrip yang mengirim email atau memanggil API eksternal bisa jalan seolah-olah itu server asli.
- Jalankan restore lewat menu restore di WHM, misalnya Transfer or Restore a cPanel Account atau Backup Restoration. Nama menunya bisa sedikit berbeda tergantung versi.
- Perhatikan output proses restore sampai selesai, terutama bagian database dan email.
