Backup WordPress Cepat dengan WP CLI & SSH

Cara backup WordPress secara cepat dengan 1 perintah WP CLI dan 1 perintah SSH, serta membuat script backup dan script autobackup.
Share:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...
Backup Cepat WordPress dengan WP CLI & SSH

Salah satu hal penting dalam perawatan sebuah website adalah membuat backup. Biasanya provider yang bagus memiliki sistim backup sbb:

  1. Berjalan rutin secara otomatis, ada yang harian, mingguan ataupun bulanan.
  2. Data disimpan di server lain yang berbeda lokasinya untuk mengantisipasi hilangnya data backup jika datacenter yang digunakan terkena bencana alam.

Namun kita sebagai pemilik atau pengelola sebuah website juga saya anjurkan agar membuat backup secara mandiri, baik itu otomatis ataupun manual.

Mengapa begitu? Karena kita tidak akan tahu masalah yang akan timbul di kemudian hari seperti apa.

Ada pengalaman pribadi saya sendiri, perusahaan hosting yang saya gunakan tutup dan saya tidak bisa mengambil data website yang ada, juga tidak bisa mendapatkan data backup nya dari perusahaan tersebut.

Berdasarkan pengalaman tersebut, maka sebaiknyalah kita rutin membuat backup secara mandiri, bisa disimpan di komputer kita, atau di server/cloud kita yang lainnya.

Tentunya kita berharap bahwa kita tidak sampai menggunakan backup tersebut yang berarti website dan hosting kita tidak bermasalah.

Backup Website WordPress dengan WP CLI dan SSH

Backup data website yang berbasiskan WordPress bermacam-macam caranya, tetapi  prinsip semua cara yang berbeda-beda adalah kita menyimpan data dari database dan data file kita.

Namun kali ini saya akan berbagi tentang bagaimana cara kita membackup data website dengan WP CLI dan SSH. Cara ini khusus yang menggunakan OS LINUX, cPanel ataupun yang sejenis.

Namun sebelumnya bagi yang belum mengetahui tentang WP CLI dan SSH, berikut penjelasan singkatnya:

Apa itu SSH?

Kami kutip dari Wikipedia, Secure Shell Protocol (SSH) adalah protokol jaringan kriptografi untuk mengoperasikan layanan jaringan secara aman melalui jaringan yang tidak aman. Aplikasinya yang paling menonjol adalah login jarak jauh dan eksekusi baris perintah.

Apa itu WP CLI?

Kami kutip dari wp-cli.org, WP-CLI adalah antarmuka baris perintah untuk WordPress. Anda dapat memperbarui plugin, mengonfigurasi instalasi multisite, dan banyak lagi, tanpa menggunakan browser web.

Jadi, singkatnya keduanya adalah antarmuka untuk menjalankan perintah-perintah menggunakan teks, bukan grafis (GUI).

Kelebihan dan kekurangan Backup WordPress dengan WP CLI dan SSH

  • Alasan dari menggunakan metode ini bagi saya adalah prosesnya cukup cepat dalam arti kita bisa mengurangi beberapa langkah yang biasa kita lakukan secara manual, dan mungkin ini perasaan saya saja, tapi sepertinya proses export database dan compress file juga lebih cepat, walaupun secara logika sepertinya sama saja haha..
  • Kekurangannya adalah, tidak semua webhosting support dengan WP CLI dan SSH. Khususnya SSH, terkadang kita harus minta di aktifkan terlebih dahulu kepada provider hosting tersebut.
    Beberapa provider malahan tidak menyediakan fitur SSH dengan alasan keamanan.

Sebelum kamu menggunakan SSH, bisa di cek juga sebelumnya apakah hostingnya sudah menyediakan fitur Terminal. Karena dengan fitur ini sama saja seperti SSH, hanya kita perlu login dulu ke hosting panel kita.

Perintah backup WordPress dengan WP CLI dan SSH

Catatan kondisi:

  • Kita akan menggunakan WP CLI untuk export database, dan SSH untuk compress file.
  • Diasumsikan kita sudah login SSH/Terminal, dan berada pada root shell
  • File WordPress berada dalam folder public_html

Saya akan membagikan 2 perintah untuk masing-masing, yaitu untuk output file tanpa tanggal sebagai dasarnya, dan output file dengan tanggal sebagai contoh pengembangannya.

Untuk backup file, bagi saya pribadi lebih suka untuk membuat arsip semua file dalam folder WordPress supaya seandainya ada file-file yang dibutuhkan oleh website tersebut dapat tercakup. Untuk kompresi yang saya gunakan akan menghasilkan file dengan output .tar.gz

Alternatif lainnya adalah hanya meng export konten WordPress yang akan menghasilkan data dengan format .xml namun langkah ini tidak saya gunakan dalam proses backup ini.

Hal lainnya bisa anda kembangkan sendiri dengan mencari referensi khususnya tentang perintah pada SSH (atau lebih tepatnya BASH, sebuah bahasa perintah pada shell).

Perintah Untuk Backup Database

#backup database
wp --path='./public_html' db export namadomainnya.sql

#backup database dengan variabel tanggal
wp --path='./public_html' db export "namadomainnya.$(date '+%Y-%m-%d').sql"

*Ganti namadomainnya dengan domain website yang ingin anda backup.

Perintah untuk Backup File

#backup file
tar czf namadomainnya.tar.gz ~/public_html/

#backup file dengan tanggal
tar czf "namadomainnya.$(date '+%Y-%m-%d').tar.gz" public_html/

Script Backup

Dari kedua perintah diatas, kita bisa membuat script shell sederhana agar dapat dijalankan dalam 1 perintah dan mengganti variabel namadomainnya sesuai kebutuhan kita. Langkah-langkahnya adalah sebagai berikut:

  1. Buat dan edit file baru, misalnya kita namakan backup.sh
nano backup.sh
  1. Tambahkan script seperti dibawah ini:
#!/bin/bash
echo -e "Apa nama domainnya yang ingin anda backup?"
echo -n "(hanya untuk keperluan penamaan hasil file backup saja, contoh: digitalizer.my.id)? : " 
read domain
tar czf "$domain.$(date '+%Y-%m-%d').tar.gz" public_html/
wp --path='./public_html' db export "$domain.$(date '+%Y-%m-%d').sql"
echo -e "$domain telah selesai di backup."
  1. Simpan kemudian keluar ke shell prompt dengan menekan ctrl+o dan ctrl+x
  2. Beri izin agar file tersebut bisa di eksekusi dari shell prompt
chmod +x backup.sh
  1. Jalankan file tersebut dengan mengetikkan ./backup.sh, dan akan menghasilkan seperti berikut:
./backup.sh
Apa nama domainnya yang ingin anda backup?
(hanya untuk keperluan penamaan hasil file backup saja, contoh: digitalizer.my.id)? : digitalizer.my.id
Success: Exported to 'digitalizer.my.id.2022-03-06.sql'.
digitalizer.my.id telah selesai di backup.
  1. Kalau kita lihat isi directory-nya dengan perintah ls -l, maka kita akan menemukan 2 buah file hasil backup tersebut (sql & tar.gz)
drwxr-xr-x  2 asdkjlkas asdkjlkas      4096 Mar  6 23:18 backup
-rwxrwxr-x  1 asdkjlkas asdkjlkas       346 Mar  6 23:21 backup.sh
-rw-rw-r--  1 asdkjlkas asdkjlkas  36570924 Mar  6 23:20 digitalizer.my.id.2022-03-06.sql
-rw-rw-r--  1 asdkjlkas asdkjlkas 304862665 Mar  6 23:20 digitalizer.my.id.2022-03-06.tar.gz
drwxr-x---  2 root      nogroup        4096 Feb 25 10:23 logs
drwxr-xr-x 10 asdkjlkas nogroup        4096 Mar  2 04:06 public_html

Script Auto Backup

Bagaimana jika kita ingin membuat autobackup atau backup yang berjalan secara otomatis?

Tentunya kita tidak bisa menggunakan script backup diatas, karena pada script tersebut kita harus memasukan nama domainnya terlebih dahulu.

Caranya yaitu kita ganti dengan domain yang kita inginkan, dan menghilangkan perintah untuk input domainnya, langkah-langkahnya adalah sebagai berikut:

  1. Buat dan buka file baru, misalnya kita namakan autobackup.sh
nano autobackup.sh
  1. Jika kita ingin menghasilkan file backup untuk domain misalnya digitalizer.my.id, maka tambahkan script di dalam file tersebut sebagai berikut:
#!/bin/bash
tar czf "digitalizer.my.id.$(date '+%Y-%m-%d').tar.gz" public_html/
wp --path='./public_html' db export "digitalizer.my.id.$(date '+%Y-%m-%d').sql"
  1. Simpan kemudian keluar ke shell prompt dengan menekan ctrl+o dan ctrl+x
  2. Beri izin agar file tersebut bisa di eksekusi dari shell prompt:
chmod +x autobackup.sh
  1. Tambahkan cron job agar perintah tersebut bisa berjalan secara otomatis, buka dan edit file cron:
crontab -e 
  1. Misalkan jika kita ingin menjalankan autobackup.sh setiap hari pada jam 4 pagi maka tambahkan perintah berikut:
0 4 * * * ~/autobackup.sh
  1. Simpan kemudian keluar ke shell prompt dengan menekan ctrl+o dan ctrl+x
  2. Selesai.

Dengan begitu, setiap jam 4 pagi maka akan ada proses backup database dan file WordPress anda.

Jika anda kesulitan dalam mengkonversi jadwal kedalam perintah cron, bisa memanfaatkan Crontab Guru untuk menghasilkan perintah cron.

Penutup

Jadi dengan 2 baris perintah saja, masing-masing dengan WP CLI dan SSH saja anda telah membuat backup data website WordPress anda. Hasilnya bisa anda simpan di local, atau anda pindahkan kemudian ke tempat lain yang lebih aman.

Selain itu, dengan pengembangan script shell anda juga bisa membuat backup dengan satu perintah saja, dan juga bisa membuat backup yang berjalan secara otomatis.

Bagaimana menurut anda langkah-langkah backup dengan WP CLI dan SSH (BASH) ini? Tinggalkan komentar anda dibawah ya... Selamat mencoba, semoga bermanfaat!

- Zulfikar Wijaya -

Baca juga: Restore Backup WordPress dengan WP CLI & SSH

Credit:

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Artikel Terkait

Gallery Slider Owl Caraousel + Lightbox
Daftar Children 1 Taxonomy + Active Class
Menu Dropdown
PAKET LENGKAP PEMBUATAN WEBSITE
Digitalizer menawarkan jasa pembuatan website untuk company profile, toko online, event organizer, lembaga pendidikan ataupun bidang lainnya. Anda tidak perlu memikirkan tentang domain, webhosting/server, DNS, email, desain, development, security serta masalah teknis lainnya. Cukup siapkan content website anda saja, sisanya kami yang mengerjakannya.
Semua paket pembuatan website sudah termasuk maintenance 1 tahun!
HOT LINK!
Kembali ke atas
cross