Open Journal System

Cara Backup dan Restore OJS dengan Aman

Backup adalah pekerjaan yang selalu terasa tidak mendesak, sampai tiba saat kamu membutuhkannya. Server crash, database korup karena update yang gagal, akun hosting diretas, atau file terhapus secara tidak sengaja: semua skenario ini bisa terjadi tanpa peringatan. Dan tanpa backup, jurnal yang sudah kamu kelola bertahun-tahun beserta seluruh artikel, reviewer, dan riwayat editorialnya bisa hilang selamanya.

Artikel Cara Backup dan Restore OJS ini menjelaskan apa saja yang perlu di-backup dari instalasi OJS, cara melakukannya baik lewat cPanel maupun command line, dan cara merestore dari backup jika terjadi masalah.

Apa Saja yang Perlu Di-backup dari OJS?

Instalasi OJS terdiri dari tiga komponen yang semuanya harus di-backup:

Database MySQL menyimpan semua data struktural OJS: akun pengguna, metadata jurnal, artikel, submission, komentar review, pengaturan sistem, dan semua relasi antar data. Ini adalah komponen paling kritis. Kehilangan database berarti kehilangan seluruh isi jurnal.

Folder files (submission files) menyimpan semua file yang diunggah ke OJS: manuskrip submission dari penulis, galley PDF yang sudah dipublikasikan, file review, dan lampiran lainnya. Lokasi folder ini biasanya di luar direktori publik web server dan dikonfigurasi di config.inc.php pada baris files_dir.

Folder instalasi OJS berisi semua file PHP, plugin, tema, dan konfigurasi. Komponen ini lebih mudah dipulihkan karena bisa diunduh ulang dari pkp.sfu.ca, tapi file konfigurasi config.inc.php dan plugin kustom yang sudah diinstal perlu disimpan.

Prioritas backup: database > folder files > folder instalasi.

Metode 1: Backup Lewat cPanel (Tanpa SSH)

Ini metode paling mudah untuk pengelola jurnal yang menggunakan shared hosting dengan cPanel.

Backup Database Lewat phpMyAdmin

Login ke cPanel, buka phpMyAdmin di bagian Databases. Di panel kiri, klik nama database OJS kamu. Klik tab Export di menu atas. Pilih metode Quick dan format SQL. Klik Export.

Browser akan mengunduh file .sql yang berisi seluruh isi database. Simpan file ini di komputer lokal dan juga di cloud storage seperti Google Drive.

Untuk database yang besar (di atas 100 MB), phpMyAdmin kadang mengalami timeout. Kalau ini terjadi, gunakan fitur Backup di cPanel langsung.

Backup Database Lewat cPanel Backup

Login ke cPanel, cari menu Backup atau Backup Wizard di bagian Files. Pilih Download a MySQL Database Backup, lalu klik nama database OJS untuk mengunduhnya. File akan diunduh dalam format .gz.

Backup Folder Files dan Instalasi Lewat File Manager

Di cPanel, buka File Manager. Navigasi ke folder files OJS (biasanya ada di luar public_html, misalnya di /home/username/ojs_files/). Klik kanan folder tersebut dan pilih Compress, pilih format .zip atau .tar.gz. Setelah kompresi selesai, unduh file tersebut ke komputer lokal.

Lakukan hal yang sama untuk folder instalasi OJS di dalam public_html.

Metode 2: Backup Lewat SSH (Lebih Cepat dan Andal)

Untuk yang punya akses SSH ke server, cara ini lebih cepat dan lebih dapat diandalkan untuk database maupun file berukuran besar.

Backup Database dengan mysqldump

Sambungkan ke server via SSH. Jalankan perintah berikut:

mysqldump -u [username_db] -p [nama_database] > backup_ojs_$(date +%Y%m%d).sql

Ganti [username_db] dengan username database OJS dan [nama_database] dengan nama database. Kamu akan diminta memasukkan password database.

Hasilnya adalah file .sql dengan nama seperti backup_ojs_20260528.sql. Untuk mengompres sekaligus:

mysqldump -u [username_db] -p [nama_database] | gzip > backup_ojs_$(date +%Y%m%d).sql.gz

Backup Folder Files dengan tar

tar -czf backup_files_ojs_$(date +%Y%m%d).tar.gz /path/ke/folder/files/

Ganti /path/ke/folder/files/ dengan path sebenarnya dari folder files OJS di servermu. Path ini bisa dilihat di config.inc.php pada baris files_dir.

Backup Folder Instalasi OJS

tar -czf backup_instalasi_ojs_$(date +%Y%m%d).tar.gz /path/ke/public_html/ojs/

Unduh File Backup ke Komputer Lokal

Setelah file backup dibuat di server, unduh ke komputer menggunakan SCP:

scp username@alamat-server:/path/ke/backup_ojs_20260528.sql.gz /lokasi/lokal/

Atau gunakan aplikasi FTP seperti FileZilla untuk mengunduh file backup dari server.

Otomasi Backup dengan Cron Job

Backup manual mudah terlupa. Cara terbaik adalah mengotomasi backup database dengan cron job yang berjalan secara terjadwal.

Di cPanel, buka Cron Jobs di bagian Advanced. Di kolom Command, masukkan perintah berikut:

mysqldump -u [username_db] -p'[password_db]' [nama_database] | gzip > /home/[cpanel_user]/backups/ojs_$(date +\%Y\%m\%d).sql.gz

Perhatikan: password yang mengandung karakter khusus harus diapit tanda kutip tunggal. Tanda % di dalam cron job harus di-escape dengan backslash menjadi \%.

Atur jadwal sesuai kebutuhan. Untuk jurnal yang aktif menerima submission, backup harian sudah sangat disarankan. Pilih jam yang traffic servernya rendah, misalnya pukul 2 atau 3 dini hari.

Pastikan juga folder /home/[cpanel_user]/backups/ sudah dibuat terlebih dahulu dan punya permission yang benar.

Simpan Backup di Luar Server

Backup yang disimpan di server yang sama tidak melindungi kamu dari kegagalan server atau penghapusan massal. Selalu simpan salinan backup di setidaknya satu lokasi eksternal:

  • Google Drive atau Dropbox (mudah, gratis hingga kapasitas tertentu)
  • Komputer lokal
  • External hard drive yang disimpan di lokasi berbeda

Aturan 3-2-1 yang direkomendasikan praktisi backup: simpan 3 salinan data, di 2 jenis media berbeda, dengan 1 salinan di lokasi offsite.

Cara Restore OJS dari Backup

Restore Database

Lewat phpMyAdmin: Login ke phpMyAdmin, klik nama database OJS di panel kiri (kalau database sudah tidak ada, buat baru terlebih dahulu). Klik tab Import, pilih file .sql dari backup, dan klik Go. Untuk file yang sudah dikompresi dalam format .gz, phpMyAdmin biasanya bisa langsung mengimpornya.

Lewat command line SSH:

mysql -u [username_db] -p [nama_database] < backup_ojs_20260528.sql

Kalau file backup dalam format .gz:

gunzip < backup_ojs_20260528.sql.gz | mysql -u [username_db] -p [nama_database]

Restore Folder Files

Ekstrak file backup dan salin ke lokasi yang sesuai:

tar -xzf backup_files_ojs_20260528.tar.gz -C /

Pastikan permission folder files sudah benar setelah restore. OJS membutuhkan web server bisa membaca dan menulis ke folder ini:

chmod -R 755 /path/ke/folder/files/
chown -R www-data:www-data /path/ke/folder/files/

Nama user dan group (www-data) bisa berbeda tergantung konfigurasi server. Di cPanel biasanya menggunakan username cPanel.

Restore Folder Instalasi OJS

Kalau folder instalasi perlu dipulihkan, ekstrak backup ke lokasi semula. Pastikan file config.inc.php sudah terisi dengan konfigurasi yang benar, terutama kredensial database dan path files_dir.

Setelah restore selesai, buka OJS di browser dan periksa apakah semua berjalan normal. Kalau ada pesan error tentang cache, login sebagai admin dan pergi ke Administration > Clear Caches.

Hal yang Harus Dilakukan Sebelum Update OJS

Setiap kali akan melakukan update OJS ke versi baru, selalu lakukan backup penuh terlebih dahulu: database, folder files, dan folder instalasi. Update OJS mengubah struktur database dan file sistem, dan kalau proses update gagal di tengah jalan, kamu perlu backup yang bersih untuk melakukan rollback.

Ini berlaku bahkan untuk update minor sekalipun.

Checklist Backup OJS

Simpan checklist ini sebagai pengingat:

  • [ ] Backup database MySQL (minimal seminggu sekali, idealnya setiap hari)
  • [ ] Backup folder files OJS (minimal seminggu sekali)
  • [ ] Backup folder instalasi OJS (setiap kali ada perubahan konfigurasi atau instalasi plugin baru)
  • [ ] Simpan salinan backup di luar server
  • [ ] Verifikasi backup bisa di-restore (tes restore minimal tiga bulan sekali)
  • [ ] Backup penuh sebelum update OJS ke versi baru

Ada pertanyaan tentang proses backup di setup hosting tertentu, atau kendala saat proses restore? Tulis di kolom komentar.

Alam
Ditulis oleh
Alam

A part-time blogger, full-time civil servant and librarian, who believes that every word has the power to move.

← Semua Tulisan

Leave a Reply

Your email address will not be published. Required fields are marked *