Home  »  Hosting   »   Cara Backup Harian dengan Cronjob

Cara Backup Harian dengan Cronjob

Last Update:

cara backup harian dengan cronjob

Cara Backup Harian dengan Cronjob – Hi DomaiNesians! Proses backup adalah salah satu hal yang penting namun seringkali bukanlah sebuah prioritas. Backup sebenarnya dilakukan untuk menghindari hilangnya data penting dari suatu website. Penyebab hilangnya data penting tersebut yaitu dapat berupa human error, cybercrime, atau beberapa faktor lain seperti bencana alam, kerusakan hardware dan lain- lain. 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. Bagaimana caranya? 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

Melakukan Backup

1. Login cPanel Hosting

Silakan login cPanel Hosting melalui https://namadomain/cpanel, sesuai email yang dikirim dari DomaiNesia mengenai Informasi Account Hosting. Bagi anda yang belum tahu cara login cPanel, silahkan baca di Cara Login cPanel Hosting.

cara backup harian dengan cronjob

2. Memilih Menu Backup

Setelah berhasil login, silahkan ketik “backup” pada kolom pencarian. Untuk melakukan backup, silahkan pilih Menu Backup.

cara backup harian dengan cronjob

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.

cara backup harian dengan cronjob

Membuat Script Untuk Cron

Sekarang saatnya membuat script agar kamu dapat melakukan backup data harian.

4. Lakukan SSH ke Hosting

Silakan lakukan SSH ke Hosting dengan mengikuti panduan Akses SSH ke Hosting.

5. 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 -xzvf ~/backups/backup_username-%d-%m-%Y.tar.gz ~/public_html

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

6. Memilih Menu Cronjob

Silakan pilih menu cronjob di cPanel agar script dapat dijadwalkan secara otomatis.

7. 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.

cara backup harian dengan cronjob
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.

cara backup harian dengan cronjob

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.

cara backup harian dengan cronjob

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 -xzvf ~/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 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 -xzvf ~/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.

cara backup harian dengan cronjob

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 -xzvf ~/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.

cara backup harian dengan cronjob

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?


Pindah ke DomaiNesia

Tertarik mendapatkan semua fitur layanan DomaiNesia?
Dapatkan Diskon Migrasi 25% serta GRATIS biaya migrasi & setup

Ya, migrasikan layanan saya!