pustipanda@unnur.ac.id (022) 6034484

Backup File & Database Terjadwal Otomatis di Linux

Backup adalah sebuah proses menduplikasi atau mengcopy data-data dari satu perangkat atau media penyimpanan ke media, perangkat atau sistem lain secara offline maupun online untuk mengamankan data dengan cara menyalin data, agar ketika salah satu media penyimpanan rusak, hilang, atau terkena virus, data-data penting yang dimiliki tidak ikut hilang, tidak rusak, serta kapanpun dan dimanapun tetap dapat diakses dengan mudah.

Fungsi backup data adalah menyelamatkan data-data dari resiko kerusakan, data yang hilang atau tidak dapat diakses kembali. Data yang tersimpan di tidak hanya satu media penyimpanan akan memberikan rasa aman karena data tersimpan dengan benar. Backup juga dapat difungsikan sebagai disaster recovery plan, yaitu untuk restore data. Pada dasarnya backup bertujuan untuk mengembalikan data-data yang hilang, rusak, corrupt, maupun terkena virus. Anda tidak akan pernah tahu hal-hal apa yang mungkin dapat terjadi pada media penyimpanan Anda, maka akan lebih baik apabila memiliki tidak hanya satu media penyimpanan data. Sehingga ketika sewaktu-waktu data utama hilang, Anda masih dapat mengembalikan data-data secara penuh tanpa adanya kerusakan maupun kehilangan

Pada kesempatan kali ini saya akan menulis tutorial mengenai cara membackup file dan database terjadwal otomatis di linux. Berikut langkah-langkahnya :

1. Buat file shell script:

nano /home/user/backup.sh
chmod +x /home/user/backup.sh

2. Kemudian isikan kode dibawah ini untuk backup database mysql:

mysqldump -uUSER -pPASSWORD nama-database | gzip > /home/user/backup/backupdb_$(date +%d-%b-%Y_%H-%M-%S).sql.gz;
find /home/user/backup/backupdb* -mtime +1 -exec rm {} \;

Sesuaikan untuk nama user, password dan nama database nya

3. Lalu isikan kode dibawah ini untuk backup file:

tar -czf /home/user/backup/backupfiles_$(date +%d-%b-%Y_%H-%M-%S).tar.gz -C / usr/share/nginx/html/;
find /home/user/backup/backupfiles* -mtime +1 -exec rm {} \;

Sesuaikan untuk baris find di kedua script diatas pada bagian +1 yg maksudnya otomatis menghapus backupan lama yg umurnya lebih dari dari 2 hari.

4. Tambahkan jadwal di crontab agar script backup di eksekusi otomatis setiap jam 12 malam

crontab -e
0 0 * * * /bin/sh /home/user/backup.sh

~RJ