Strategi backup tenant untuk WordPress multi-tenant
Menjalankan armada situs klien pada satu instalasi WordPress memang efisien, sampai suatu hari seseorang membutuhkan restore. Jika alat backup Anda hanya memikirkan kapasitas “seluruh server”, kesalahan satu klien bisa menjadi downtime bagi semua orang. Strategi backup multi-tenant harus bekerja pada granularitas satu tenant: melakukan backup, prune, offload, dan restore pada setiap klien secara mandiri. Panduan ini membahas cara merancangnya menggunakan GrabWP Tenancy Pro.
Mengapa backup armada butuh granularitas per tenant
Inti dari multi-tenancy adalah para tenant berbagi codebase yang sama, tetapi data mereka tetap terisolasi. Strategi backup Anda pun harus menghormati batasan yang sama. Snapshot di tingkat server secara keseluruhan memang bagus untuk disaster recovery, tetapi ia adalah alat yang salah saat Klien A menghapus sebuah halaman dan ingin memulihkannya. Melakukan restore image seluruh server untuk memperbaiki satu tenant sama artinya dengan mengembalikan pesanan, komentar, dan editan milik semua tenant lainnya.
GrabWP Tenancy Pro memperlakukan setiap tenant sebagai unit backup tersendiri. Sebuah backup menangkap database, upload, konten, dan config dari tenant tersebut. Proses restore juga hanya akan membangun kembali elemen-elemen tersebut, tanpa menyentuh yang lainnya. Artinya, Anda bisa memulihkan kondisi situs Klien A ke versi kemarin, sementara Klien B masih tetap bisa menerima pendaftaran pada pagi hari ini. Bagi agensi dan perusahaan hosting, ini adalah perbedaan besar antara perbaikan yang hanya butuh waktu lima menit dibanding insiden berskala armada. Hal ini juga memperkecil radius dampak: proses restore yang buruk hanya akan menyentuh satu tenant yang Anda tuju.
Penjadwalan: default global dengan override per tenant

Melakukan backup secara manual sangat tidak scalable jika Anda memiliki lebih dari segelintir situs, sehingga penjadwalan adalah titik awal berlakunya strategi sesungguhnya. GrabWP memungkinkan Anda menetapkan default global untuk backup tenant otomatis, kemudian Anda dapat melakukan override per tenant. Setiap tenant memiliki status aktif, jadwal, dan batasan retensi masing-masing, sehingga klien utama Anda bisa melakukan backup lebih sering daripada situs brosur ber-traffic rendah tanpa harus mengelola belasan entri cron terpisah secara manual.
Pilihan pengulangan mencakup rentang waktu yang dibutuhkan mayoritas armada: setiap jam, dua kali sehari, harian, mingguan, dua mingguan, dan bulanan. Pilihlah default global yang wajar, kemudian tingkatkan jadwal pada tenant yang sibuk dan turunkan pada tenant yang sepi.
Retensi merupakan bagian penting lainnya dari penjadwalan. GrabWP memangkas backup lokal maupun remote setelah proses berjalan sukses, menyisakan hanya sejumlah backup yang sesuai dengan retensi yang Anda tetapkan. Hal ini menjaga kapasitas disk agar tidak melampaui batas dan mencegah penumpukan backup lama secara diam-diam. Atur retensi per tenant supaya toko online dengan frekuensi perubahan tinggi dapat memiliki rekam jejak yang lebih lengkap dibandingkan dengan situs statis. Pilih angka yang cocok dengan kapasitas penyimpanan dan ekspektasi pemulihan Anda sendiri, alih-alih menyalin pengaturan default generik.
Keamanan offsite dengan S3
Backup yang hanya tersimpan di server yang sama dengan situs yang dilindunginya bukanlah backup sesungguhnya. GrabWP mendukung penyimpanan remote yang kompatibel dengan S3, sehingga backup setiap tenant dapat disimpan di luar server. Registry driver memungkinkan Anda memanfaatkan kembali kredensial S3 yang telah Anda siapkan, atau memberikan kredensial S3 kustom untuk bucket khusus.
Beberapa fitur ini membuatnya sangat praktis untuk skala armada:
- Auto-offload memicu unggahan ke S3 seketika setelah sebuah backup selesai, sehingga tidak ada celah waktu di mana satu-satunya salinan hanya ada secara lokal.
- Pull-to-local mengunduh salinan backup yang hanya ada di remote dari S3 kembali ke server saat Anda membutuhkannya untuk proses restore, sehingga Anda dapat menjaga server tetap ringan namun tetap dapat pulih dengan cepat.
- Remote deletion melalui UI daftar backup memungkinkan Anda menghapus salinan S3 tanpa harus meninggalkan dashboard.
- Per-tenant file-count limits secara otomatis memangkas backup remote lama setiap kali ada sebuah tenant yang melampaui batas jumlah file-nya di S3, sehingga remote storage tetap terkendali sebagaimana halnya penyimpanan lokal.
Tampilan daftar tenant dilengkapi dengan badge storage (S3 atau Lokal), sehingga Anda dapat mengetahui secara cepat mana tenant yang memiliki perlindungan offsite dan mana yang tidak. Jadikan ini sebagai sebuah checklist: tidak boleh ada klien yang dibiarkan pada status Lokal saja terlalu lama.
Alur kerja restore

Sebuah backup yang belum pernah Anda restore hanyalah sebuah harapan, bukan rencana. Fitur restore dari GrabWP adalah tahapan yang terstruktur dan dilengkapi dengan UI progress berbasis AJAX, sehingga Anda dapat memantau berjalannya setiap tahapan secara langsung alih-alih hanya terpaku melihat loading spinner yang kosong. Proses backup berjalan sebagai job 7 langkah, sedangkan restore berjalan sebagai job 8 langkah yang mencakup database, upload, konten, dan config milik tenant.
Halaman restore memberi Anda dua tab. Tab existing backups me-restore dari salinan yang sudah ada di dalam disk, yang lazim digunakan untuk “membatalkan perubahan kemarin”. Tab upload memungkinkan Anda me-restore dari file backup yang Anda unggah ke server, yang merupakan cara untuk memindahkan tenant antar environment atau memulihkan data dari salinan arsip. Restore lintas database didukung di seluruh tipe DB, sehingga tenant yang diambil pada satu mesin database dapat dibangun kembali pada mesin database lain tanpa perlu mengedit file dump secara manual.
Dari UI manajemen backup Anda dapat menampilkan daftar, mengunduh, menghapus, dan me-restore backup on-disk sebelumnya, sehingga seluruh siklus hidupnya berada di satu tempat terpusat. Kebiasaan praktis yang patut dibangun: lakukan restore secara berkala pada sebuah tenant ke sebuah environment sementara (throwaway) dan pastikan situs tersebut dapat kembali bersih. Melalui cara itulah Anda akan mengetahui bahwa strategi Anda benar-benar berfungsi sebelum Anda membutuhkannya.
Perhatikan batasannya di sini. Ini adalah tentang proses backup dan restore per tenant di dalam GrabWP Tenancy Pro. Plugin GrabWP Restore gratis yang terpisah merupakan alat yang berbeda yang membangun kembali file ZIP ekspor Pro menjadi sebuah situs mandiri (standalone). Gunakan alat tersebut ketika Anda ingin memisahkan sebuah tenant dari armada, bukan untuk memulihkan armada secara rutin.
Otomatisasi dengan WP-CLI dan Schedule Assurance
Semua hal di atas bisa diotomatisasi melalui skrip. GrabWP menyertakan perintah WP-CLI untuk menjalankan backup, mengonfigurasi jadwal tenant, menampilkan status beserta riwayat terbaru, dan menjadwal ulang setiap tenant sekaligus. Hal ini menjadikan backup sebagai bagian kelas satu dari alur kerja provisioning dan CI Anda: buat tenant baru, atur jadwalnya, dan lanjutkan pekerjaan Anda. Menjadwal ulang seluruh armada dengan satu perintah sangat berguna setelah Anda mengubah kebijakan global.
Satu hal yang perlu diperhatikan mengenai penjadwalan WordPress apa pun adalah penggunaan WP-Cron, yang hanya terpicu saat situs mendapatkan traffic. Pada tenant yang sepi, sebuah backup yang “seharusnya” berjalan harian bisa saja meleset. Schedule Assurance yang ada di Pro Settings hadir khusus untuk mengatasi masalah ini: fitur ini menunjukkan status WP-Cron, jadwal backup berikutnya, interval yang tersedia, dan saat WP-Cron dinonaktifkan, terdapat panduan untuk menghubungkannya ke cron sistem yang sesungguhnya. Pengaturan yang paling dapat diandalkan untuk armada yang serius adalah dengan menonaktifkan WP-Cron dan menjalankan wp melalui crontab sistem, agar jadwal backup tenant dapat terpicu tepat waktu tanpa bergantung pada traffic.
Strategi baseline yang direkomendasikan
Menyimpulkan semuanya, berikut adalah titik awal yang masuk akal yang dapat Anda sesuaikan dengan kebutuhan penyimpanan dan pemulihan Anda sendiri:
- Atur jadwal harian global sebagai default, lalu lakukan override untuk tenant yang sibuk agar lebih sering (dua kali sehari atau setiap jam) dan turunkan untuk yang sepi (mingguan).
- Tetapkan jumlah retensi per tenant yang sesuai dengan tingkat perubahan masing-masing tenant, sehingga toko online dengan traffic tinggi akan menyimpan riwayat yang lebih panjang.
- Aktifkan auto-offload ke S3 untuk semua tenant dan tetapkan batas jumlah file per tenant agar remote storage dapat memangkas salinan lama secara otomatis.
- Jalankan penjadwalan dari cron sistem dengan WP-Cron yang dinonaktifkan, dan periksa Schedule Assurance setiap kali selesai melakukan perubahan.
- Uji restore secara berkala dengan membangun kembali sebuah tenant ke dalam environment sementara.
Strategi di atas akan memberikan Anda pemulihan yang granular, batas penyimpanan yang terkendali di kedua sisi, serta adanya salinan offsite yang berjalan otomatis tanpa perlu Anda awasi terus-menerus.
Plugin dasar GrabWP Tenancy tersedia secara gratis di WordPress.org, dan fitur backup per tenant, penjadwalan, offload S3, beserta restore lintas database disertakan dalam GrabWP Tenancy Pro seharga $9.99/month. Jika Anda masih memutuskan bagaimana cara mengisolasi data tenant sejak awal, bacalah panduan pendamping kami mengenai MySQL khusus vs SQLite untuk WordPress per tenant.
Pertanyaan yang sering diajukan
- Bisakah saya me-restore satu tenant tanpa memengaruhi tenant lainnya?
- Ya. GrabWP Tenancy Pro melakukan backup dan restore pada setiap tenant secara mandiri. Sebuah restore akan membangun kembali database, upload, konten, dan config milik satu tenant, sehingga sisa armada Anda tetap berjalan tanpa tersentuh.
- Di mana backup remote disimpan?
- GrabWP mendukung penyimpanan remote yang kompatibel dengan S3. Anda dapat menggunakan kembali kredensial S3 Anda saat ini atau menambahkan kredensial kustom, melakukan offload otomatis untuk setiap backup ke S3 segera setelah prosesnya selesai, dan menarik backup remote kembali ke server saat Anda membutuhkannya.
- Apa yang terjadi jika WP-Cron tidak dapat diandalkan di server saya?
- Schedule Assurance di Pro Settings akan melaporkan status WP-Cron, jadwal backup Anda berikutnya, serta interval yang tersedia. Saat WP-Cron dinonaktifkan, ia memberikan panduan system-cron agar backup tenant yang telah dijadwalkan dapat tetap berjalan tepat waktu.
Editorial standards: Our content is written by WordPress experts with hands-on multi-tenancy experience. Articles are fact-checked and regularly updated to ensure accuracy.