Cara Backup Harian dengan Cronjob

Oleh Mutiara Auliya

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.

cara backup harian dengan cronjob

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.

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

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

cara backup harian dengan cronjob

 

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?

Mutiara Auliya

Hi! I am Data Analyst and Technical Writer at DomaiNesia. I love Linux, Python, Server, WordPress, Data Analysis and Artificial Intelligence. I will help you making some technically being easy to understand :)

Berlangganan Artikel

Dapatkan artikel, free ebook dan video
terbaru dari DomaiNesia

{{ errors.name }} {{ errors.email }}
Migrasi ke DomaiNesia

Pindah Ke DomaiNesia

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

Ya, Migrasikan layanan Saya!

Hosting Murah

This will close in 0 seconds