Restore Backup WordPress dengan WP CLI & SSH

Cara me-restore (mengembalikan) data WordPress kita dengan WP CLI & SSH.
Share:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...
restore from backup WordPress with WP CLI and SSH

Di artikel kali ini saya akan berbagi informasi tentang cara me-restore (mengembalikan) data WordPress kita dari backup yang telah kita miliki dengan WP CLI & SSH.

Kapan Kita Membutuhkan Restore Backup

Sewaktu-waktu proses restore ini akan dibutuhkan, sebagai contoh ketika kita mengalami kejadian:

  1. Terjadi error pada saat update themes/plugins
  2. Website rusak dan tidak bisa kita perbaiki
  3. Memindahkan website ke tempat lain
  4. dan mungkin ada hal lain yang mengharuskan anda me-restore dari backup yang ada.

Bagi anda yang ingin mengetahui proses backupnya bisa membaca di "Backup WordPress Cepat dengan WP CLI & SSH".

Catatan Kondisi

Catatan kondisi yang kami gunakan adalah sebagai berikut:

  1. File backup database (.sql) & files (.tar.gz) sudah ada di dalam root shell
  2. Hasil ekstraksi file akan diletakkan pada folder ./public_html
  3. Di dalam folder ./public_html telah terinstall WordPress terlebih dahulu, baik itu baru di install atau website yang sudah aktif dan memiliki konten
  4. Perintah dijalankan dari root shell

Penting! Data pada file WordPress yang telah ada atau telah terinstall akan digantikan/tertimpa dengan data baru sehingga data yang lama akan terhapus/hilang. Pastikan bahwa anda telah memahami resiko ini dan mengantisipasi jika terjadi kesalahan atau error pada saat restore.

Perintah restore backup dengan WP CLI dan SSH

Untuk me-restore backup maka bagian pertama yang anda perlu lakukan adalah meng-import database dan meng-extract file WordPress anda dengan langkah-langkah sebagai berikut:

  1. Ketahui nama file backupnya. Bagi yang belum mengetahui nama file backup-nya yang mau di restore, kita lihat dulu isi direktori yang ada dengan perintah ls -l
digitalizer@shell:~$ ls -l
total 333456
-rwxrwxr-x  1 digitalizer digitalizer       148 Mar  6 23:29 autobackup.sh
drwxr-xr-x  2 digitalizer digitalizer      4096 Mar  6 23:18 backup
-rwxrwxr-x  1 digitalizer digitalizer       346 Mar  6 23:21 backup.sh
-rw-rw-r--  1 digitalizer digitalizer  36570924 Mar  6 23:20 digitalizer.my.id.2022-03-06.sql
-rw-rw-r--  1 digitalizer digitalizer 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 digitalizer nogroup          4096 Mar  2 04:06 public_html
digitalizer@shell:~$

Dari hasil diatas, kita ketahui bahwa backup database adalah file digitalizer.my.id.2022-03-06.sql dan backup file website adalah file digitalizer.my.id.2022-03-06.tar.gz

  1. Import database dengan perintah:
wp --path='./public_html' db import digitalizer.my.id.2022-03-06.sql

Perintah diatas akan mengimport database dari file digitalizer.my.id.2022-03-06.sql ke dalam database yang digunakan WordPress sesuai dengan username dan database yang ada pada file ./public_html/wp-config.php

  1. Extract file backup dengan perintah:
tar zxf digitalizer.my.id.2022-03-06.tar.gz

Perintah diatas akan mengextract file digitalizer.my.id.2022-03-06.tar.gz.

Sebagai catatan, pada saat saya mengkompresi file WordPress tersebut sebelumnya, direktori yang saya kompres adalah ./public_html juga, jadi saya harap anda berhati-hati dan sesuaikan folder file backup anda dengan file folder tujuan.

  1. Proses import database dan extract file selesai.

Setelah proses import database dan extract selesai, maka ada beberapa langkah yang mungkin perlu anda lakukan. Saya katakan mungkin karena bisa jadi anda tidak perlu melakukannya. Kita lanjutkan membacanya:

Finishing Proses Restore Backup

Langkah-langkah tersebut adalah:

  1. Login ke dashboard admin anda melalui browser, biasanya https://domainanda.com/wp-admin
  2. Set permalink dari menu Settings - Permalink
  3. Khusus untuk pengguna Oxygen Builder, anda perlu signing shortcode dari menu Oxygen - Setting - Security - Sign All Shortcodes.
  4. Cek dari sisi depan website anda, dan pastikan semua tampilan dan fungsi telah berjalan dengan normal.

Bagi anda yang belum mengetahui tentang Oxygen Builder, silahkan baca di artikel "Oxygen Builder, Plugin Page Builder WordPress Terbaik?".

Restore Backup dengan Domain yang Baru

Jika anda ingin me-restore backup WordPress anda sekaligus mengganti menjadi domain yang baru, maka setelah proses import database dan extract file selesai, maka anda bisa menggunakan perintah dibawah ini untuk mengganti semua string domain yang lama menjadi domain yang baru.

wp --path='./public_html' search-replace domainlama.com domainbaru.net --all-tables

Perintah diatas akan mengganti semua string domainlama.com menjadi domainbaru.net yang ada pada semua tabel di dalam database. Untuk --all-tables adalah opsional.

Tambahan: Restore Backup ke Subdirektori Domain

Contoh kasus sebagai berikut, misalkan saya memiliki website dengan domain digitalizer.my.id, kemudian saya akan pindahkan ke host/server lain dan akan menggunakan domain digitalizer.my.id/oldsite, maka langkah-langkahnya adalah sebagai berikut:

  1. Install WordPress baru (fresh install) ke dalam direktori ./public_html/oldsite/
  2. Jalankan perintah restore backup diatas, tetapi ganti path sesuai dengan kondisi yang baru
#import backup database ke dalam WordPress yang ada di ./public_html/oldsite
wp --path='./public_html/oldsite' db import digitalizer.my.id.2022-03-06.sql

#extract backup file ke dalam folder ./public_html 
tar zxf digitalizer.my.id.2022-03-06.tar.gz -C ./public_html
  1. Ganti nama backup folder dari ./public_html/public_html menjadi ./public_html/oldsite
mv ./public_html/public_html ./public_html/oldsite
  1. Buka file .htaccess
nano ./public_html/oldsite/.htaccess
  1. Ganti root folder WordPress didalam bagian # BEGIN WordPress dan # END WordPress, dalam hal ini ganti "RewriteBase /" menjadi "RewriteBase /oldsite". Detailnya seperti ini:
# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

menjadi:

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /oldsite/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
  1. Lakukan proses FINISHING PROSES RESTORE BACKUP seperti yang telah dijelaskan diatas.

Penutup

Demikianlah cara restore backup WordPress kita dengan menggunakan WP CLI dan SSH. Bagi sebagian orang yang terbiasa dengan GUI (Graphical User Interface) cara ini mungkin menyulitkan, namun bagi sebagian orang merasa lebih mudah dan cepat dengan CLI (Command Line Interface).

Bagaimana dengan anda?

- Zulfikar Wijaya -

Credit:

  • Gambar diambil dari Freepik.com dan telah kami modifikasi

Tinggalkan Balasan

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

Artikel Terkait

Slick Slider in Oxygen Builder
10 Contoh Slick Slider di Oxygen Builder & Cara Pembuatannya
Cara membuat slider dengan Slick Slider di Oxygen Builder berisi tahapan pembuatannya, opsi-opsinya dan 10 slider contoh hasilnya.
Backup Cepat WordPress dengan WP CLI & SSH
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.
Foto-bersama-setelah-pelatiham-implementasi-e-commerce
Pelatihan Implementasi e-Commerce di Fakultas Pertanian Universitas Yudharta
Artikel ini bercerita tentang partisipasi kami dalam program implementasi e-Commerce yang diadakan Prodi Ilmu dan Teknologi Pangan, Fakultas Pertanian, Universitas Yudharta Pasuruan.
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