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.
Sewaktu-waktu proses restore ini akan dibutuhkan, sebagai contoh ketika kita mengalami kejadian:
Bagi anda yang ingin mengetahui proses backupnya bisa membaca di "Backup WordPress Cepat dengan WP CLI & SSH".
Catatan kondisi yang kami gunakan adalah sebagai berikut:
./public_html
./public_html
telah terinstall WordPress terlebih dahulu, baik itu baru di install atau website yang sudah aktif dan memiliki kontenPenting! 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.
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:
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
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
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.
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:
Langkah-langkah tersebut adalah:
https://domainanda.com/wp-admin
Settings - Permalink
Oxygen - Setting - Security - Sign All Shortcodes
.Bagi anda yang belum mengetahui tentang Oxygen Builder, silahkan baca di artikel "Oxygen Builder, Plugin Page Builder WordPress Terbaik?".
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.
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:
./public_html/oldsite/
#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
./public_html/public_html
menjadi ./public_html/oldsite
mv ./public_html/public_html ./public_html/oldsite
.htaccess
nano ./public_html/oldsite/.htaccess
# 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
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: