Cara Backup Harian dengan Cronjob
Hi DomaiNesians! Backup sebenarnya dilakukan untuk menghindari hilangnya data penting dari suatu website. Maka dari itu, jangan sampai ketika website error, penyedia hosting kamu tidak menyediakan backup ya. Atau kamu ingin melakukan backup sendiri? Bisa kok! Kamu bisa langsung mendownload file backup melalui hosting satu persatu. Nah buat yang malas download file backup satu persatu, kamu bisa mengaturnya secara otomatis. Kamu hanya perlu buat script backup kemudian buat penjadwalan melalui cronjob agar otomatis. Kamu bisa atur waktu backup misalnya, 1 kali sehari, 1 kali seminggu ataupun 1 kali setahun. Untuk itu, pada panduan kali ini akan dijelaskan tentang cara backup harian dengan cronjob.
Cara Backup Harian dengan Cronjob
Untuk melakukan backup harian dengan cronjob, kamu dapat mengikuti beberapa step-step melakukan backup, setting script cron yang dibutuhkan kemudian dilanjutkan setting cronjob.
Melakukan Backup
Pertama, kamu harus melakukan backup data website terlebih dahulu.
1. Login cPanel Hosting
Silakan login cPanel Hosting melalui https://namadomain/cpanel, sesuai email yang dikirim dari DomaiNesia mengenai Informasi Account Hosting. Bagi kamu yang belum tahu cara login cPanel, silahkan baca di Cara Login cPanel Hosting.
2. Memilih Menu Backup
Setelah berhasil login, silahkan ketik “backup” pada kolom pencarian. Untuk melakukan backup, silahkan pilih Menu Backup
.
3. Melakukan Backup Data
Terdapat beberapa pilihan backup seperti Full Backup, Account Backups, Partial Backups atau MySQL Database Backup. Nah, kamu bisa melakukan backup data secara manual dengan melakukan download file backup. Misalnya, ingin melakukan download backup file home. Silakan klik Home Directory
.
Membuat Script Untuk Cron
Sekarang saatnya membuat script agar kamu dapat melakukan backup data harian.
1. Lakukan SSH ke Hosting
Silakan lakukan SSH ke Hosting dengan mengikuti panduan Akses SSH ke Hosting.
2. Membuat Script Cron Backup Harian
Setelah berhasil masuk ke hosting via SSH, silakan masuk ke root atau public_html. Kemudian buat folder bernama “backups
” dengan perintah:
mkdir backups
Setelah itu buat file backup.sh
dengan perintah,
touch backup.sh
Buka file backup.sh kemudian paste script berikut,
#!/bin/bash tar -czvf ~/backups/backup_username-$(date +%d-%m-%Y) ~/
Kamu bisa menggunakan editor seperti Nano ataupun Vim. Jangan lupa di simpan ya! Bagi kamu yang menggunakan editor nano, untuk menyimpan file yang telah di edit caranya yaitu ctrl+x lalu tekan Y pada keyboard kemudian Enter.
Sekarang, saatnya ubah hak akses file backup.sh menjadi 700. Untuk mengubah hak akses, silakan lakukan perintah:
chmod 700 backup.sh
Agar lebih jelas tentang hak akses, silakan baca Mengubah File Permission di Hosting.
Setting Cronjob
Setelah membuat file backup dan membuat script cron, sekarang saatnya setting cronjob di hosting.
1. Memilih Menu Cronjob
Silakan pilih menu cronjob di cPanel agar script dapat dijadwalkan secara otomatis.
2. Membuat Cron Harian
Kemudian tulis alamat email pada bagian Cron Email
. Email ini berfungsi sebagai email tujuan ketika ingin melakukan full backup. Jika sudah silakan klik Update Email
.
Nah, sekarang saatnya menambahkan cronjob baru. Pada bagian Common Settings, silakan pilih “Once Per Day (0 0 * * *)
” jika ingin melakukan backup tiap hari.
Kemudian pada bagian Command, kamu bisa tulis:
~/backups/backup.sh
Jika sudah, jangan lupa klik Add New Cron Job
.
Jika script backup sudah dijadwalkan di cronjob, maka akan muncul command pada kolom Current Cron Jobs
. Kamu bisa mengubah command dan waktu penjadwalan dengan klik Edit
.
Agar hosting kamu tidak penuh, maka lakukan hapus file backup sebelumnya. Caranya, silakan tulis buat script file backup lagi dengan nama deletebackup.sh. Lalu tuliskan script berikut ini:
#!/bin/bash rm -rf ~/backups/* tar -czvf ~/backups/backup_username-%d-%m-%Y.tar.gz ~/public_html
Jangan lupa diberi hak akses 700 ya! Perintah rm -rf ~/backups/* artinya, file backup sehari sebelumnya akan dihapus.
Bagaimana Jika Ingin Melakukan Backup Mingguan Atau Bulanan?
Backup dapat dilakukan mingguan ataupun bulanan. Kami sarankan untuk melakukan backup mingguan apabila kapasitas hosting kamu mencukupi. Karena jika terjadi error sewaktu-waktu, akan ada file backupnya.
Backup Mingguan
Untuk melakukan backup mingguan, silakan buat folder “weekly” dalam folder backups tadi. Kemudian buat script backupweekly.sh
. Setelah itu diisi dengan:
#!/bin/bash rm -rf ~/backups/weekly/* tar -czvf ~/backups/weekly/backup_username-%d-%m-%Y.tar.gz ~/public_html
Kemudian atur di Menu Cron. Pada bagian Common Settings, silakan pilih Once Per Week
. Lalu pada bagian Command, silakan tulis ~/backups/backupweekly.sh
. Kemudian klik Add New Cron Job
.
Backup Bulanan
Untuk melakukan backup bulanan, silakan buat folder “monthly” dalam folder backups tadi. kemudian buat script backupmonthly.sh
. Setelah itu diisi dengan:
#!/bin/bash rm -rf ~/backups/monthly/* tar -czvf ~/backups/weekly/backup_username-%d-%m-%Y.tar.gz ~/public_html
Kemudian atur di Menu Cron. Pada bagian Common Settings, silakan pilih Once Per Month
. Lalu pada bagian Command, silakan tulis ~/backups/backupmonthly.sh
. Kemudian klik Add New Cron Job
.
Backup Database
Sebelum melakukan backup database, pastikan kamu memiliki hosting paket super dan lakukan SSH terlebih dahulu ya. Untuk melakukan backup database, kamu bisa ikuti perintah berikut.
mysqldump -u nama_user -p'password' nama_database > file.sql
Kesimpulan
Cara backup harian dengan cronjob sangatlah mudah. Yang perlu kamu lakukan yaitu buat script backup kemudian atur penjadwalan di cronjob. Kamu bisa atur sesuai keinginan. Misalnya one per day (1 kali sehari), once per week (1 kali seminggu) ataupun once per month (1 kali sebulan). Atur backup sesuai keinginan. Oiya karena file backup ini akan disimpan di hosting, pastikan kapasitas hosting kamu full ya! Untuk melakukan upgrade hosting, kamu bisa ikuti Panduan Upgrade Hosting
Baca Juga: Kapan Seharusnya Saya Upgrade Hosting?