Melakukan dan mempunyai backup secara terjadwal dan teratur adalah hal yg penting, bahkan sangat penting terutama untuk productional environtment seperti pada VPS atau dedicated server yg digunakan untuk ngehost website, database, dsb.
Backup akan menjadi satu-satunya harapan saat terjadi disaster dan perlu recovery. Misal dalam kasus data loss karena disk failure, tidak sengaja melakukan rm -rf
, terinfeksi malware dll. Tanpa ada backup sama sekali anda hanya bisa terpana dan termangu dan data yg hilang/rusak tak akan kembali.
Di postingan ini saya akan berikan langkah-langkah melakukan backup secara manual pada website wordpress anda yg berjalan di VPS atau dedicated server dengan OS Linux (Ubuntu, Debian, Centos, dll). Memang betul sekarang sudah ada plugin yg dapat melakukan backup wordpress secara menyeluruh. Tapi jika anda pegang sebuah server Linux ada bagusnya memahami cara-cara backup secara manual via command line interface.
Tahap-tahap melakukan backupnya adalah sebagai berikut:
-
- Setelah login ssh ke VPS, masuk ke direktori documentroot atau direktori di mana file wordpress berada. Ini bisa berbeda-beda tergantung instalasi server yg dulu dilakukan, misalnya di sini:
cd /home/admin/web/servers.id/public_html/
- Cek dengan command
ls -la
untuk melihat isi direktori tsb, kalo liat macam ini ya artinya udah berada di jalan yg benar - Sebelum kita backup databasenya, cek dulu detail database yg digunakan pada wordpress tsb. Caranya jalankan perintah begini
cat wp-config.php | grep "define( 'DB_" | head -3 | sed -n "s/define( 'DB_\([^']*\)', '\([^']*\)' );/'DB_\1', '\2'/p"
- Outputnya bisa terlihat detail database yg dipake misalnya
'DB_NAME', 'admin_zzz' 'DB_USER', 'admin_zzz' 'DB_PASSWORD', 'ahf7rV1mSp' 'DB_HOST', '127.0.0.1'
- Nah terlihat kan nama database, username beserta passwordnya dan juga hostnya ya, kalo di situ terlihat 127.0.0.1 atau kadang localhost yg menunjukkan bahwa database server berada di server yg sama dengan webserver ini
- Sekarang backup databasenya pake perintah
mysqldump --add-drop-table -u admin_zzz -p'ahf7rV1mSp' admin_zzz > servers.id_backup.sql
- Tunggu hingga proses backup sql selesai, lamanya proses tergantung dari besarnya database. Makin besar tentu waktu yg dibutuhkan utk melakukan mysqldump akan lebih lama
- Pastikan file hasil backup sql ada di situ ya (selalu cek isi direktori dengan ls -la). Lanjut backup seluruh file dengan command
tar -zcvf servers.id.tar.gz .htaccess *
- Server akan melakukan proses archive semua yg berada di dalam direktori ini, jadi pastikan bahwa anda tidak keluar dari direktori documentroot seperti yg udah dijalankan di langkah nomor 1. Lamanya proses archiving tergantung dengan banyak dan ukuran file dan yg pasti spek server jg berperan. Server ecek-ecek tentu akan lebih lama membackup dibanding server yg high-end.
- Setelah login ssh ke VPS, masuk ke direktori documentroot atau direktori di mana file wordpress berada. Ini bisa berbeda-beda tergantung instalasi server yg dulu dilakukan, misalnya di sini:
Hasil final dari proses backup ini adalah sebuah file bernama servers.id.tar.gz, isinya adalah seluruh file dan folder wordpress kemudian juga termasuk file .sql hasil backup dan semua yg berada dalam satu direktori. File tar.gz ini bisa didownload dari server lain dengan command wget, atau dari server ini bisa dikirim ke server lain via command scp.
File backup ini bisa di-restore jika dibutuhkan, bisa jg digunakan saat hendak migrasi server.
Pada kesempatan berikutnya akan saya bagikan tentang backup seperti ini namun yg dapat berjalan otomatis secara terjadwal. Semoga bermanfaat!