Backup adalah hal yang sangat penting dilakukan, dikarenakan banyak potensi-potensi yang
akan mengakibatkan hilangnya data baik itu diakibatkan oleh kesalahan dari pengguna atau halhal
teknis lainnya seperti umur hard disk yang sudah tidak layak pakai dan lain-lain. Oleh
karena itu perencanaan backup secara berkala harus dilakukan terutama pada komputer desktop
atau server yang menyimpan data-data peting.
Untuk mempermudah dalam melakukan backup maka para pengembang software membuat
aplikasi khusus dengan sistem network Client Server. Sehingga data-data yang akan dibackup
lebih teratur dan lebih aman. Salah satu dari aplikasi network client server backup yang open
source dan mempunyai fitur-fitur yang sama dengan aplikasi berbayar lainnya adalah Bacula.
1. Pendahuluan
Bacula adalah aplikasi network client/server untuk mengatur backup, recovery, dan
verifikasi data komputer melalui Jaringan dari komputer yang berbeda atau pada satu
komputer saja. Bacula juga mendukung berbagai macam media penyimpanan seperti tape dan
disk dan cenderung mudah untuk digunakan karena tersedia banyak front end untuk Bacula.
Lisensi bacula adalah GNU Version 2 yang dan secara fungsi sama dengan aplikasi
propertary lainnya seperti Legato Netwroker, ARCserveIT, Arkeia atau PerfectBacup dan lainlain
oleh karena itu sangat cocok untuk perusahaan yang ingin melakukan backup secara
berkala tanpa mengeluarkan banyak dana yang akan dikeluarkan.
1.1 Komponen-komponen Bacula
Dalam bacula terdiri atas 5 service / komponen yaitu:
Bacula Director
Bacula director adalah service program yang membawahi semua backup, restore, verifikasi, dan
operasi pengarsipan karena daemon ini berhubungan langsung dengan daemon-daemon lainnya.
Seorang system adminstrator menggunakan daemon ini untuk melakukan penjadwalan backup
dan recovery data. dan bacula director berjalan secara daemon yang mana akan dikendalikan
melalui bacula console
Bacula Console
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
1
Lisensi Dokumen:
Copyright © 2003-2006 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus
atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin
terlebih dahulu dari IlmuKomputer.Com.
Bacula console adalah aplikasi yang digunakan oleh seorang sistem adminstrator untuk
mengontrol dan berkomunikasi dengan daemon bacula director dalam pengaturan konfigurasi.
bacula console terbagi menjadi 3 macam interface yang tersedia antar lain:
1. Text-based console interface.
2. Qt-based interface
3. wxWidgest graphical interface
pada ketiga interface diatas adalah yang dibuat langsung oleh developer bacula (official) ,
sedangkan ada pula aplikasi ketiga (third party) yang menyediakan bacula console dengan
interface yang lainnya seperti web-based seperti module bacula yang tersedia pada addon
webmin , dan lain-lain.
Bacula File
Bacula file adalah program client yang dipasang pada komputer yang akan dibackup datadatanya
yang mana akan dikirimkan kepada Bacula Storage atau storage server. Dan hingga
tulisan ini dibuat sudah ada dalam versi binary untuk windows.
Bacula Storage
Bacula storage service adalah aplikasi yang bertugas sebagai tempat penyimpanan data-data file
yang akan dibackup dan pada Bacula storage langsung berinteraksi dengan media penyimpanan
data yaitu phisical backup media atau volume/disk sehingga sering disebut sebagai storage
server. dengan kata lain daemon storage bertanggung jawab atas membaca dan menulis tape
atau berbagai macam media tempat penyimpanan lainnya seperti hard disk(File), Dvd dan lainlain
Bacula Catalog
Bacula Catalog service bertugas sebagai pengelola index file-file yang akan dan telah dibackup,
catatan /log dari aktifitas job backup atau restore dan lain-lain kedalam database sehingga
seorang sistem adminstrator akan sangat mudah dalam melakukan pengembalian data yang telah
dibackup (restore). Hingga tulisan ini dibuat Bacula sudah mendukung 3 aplikasi RDBMS
yaitu Mysql, Postgresql dan Sqlite.
Bacula Monitor
Bacula monitor adalah aplikasi yang digunankan untuk memonitor status terkini dari Bacula
Director daemon , Bacula File daemon, Bacula Storage Daemon. dan hingga saat ini hanya
dibuatkan dalam versi GTK+ yang mana dapat digunakan pada berbagai desktop environment
seperti GNOME dan KDE, agar bacula monitor dapat berjalan sukses dalam menyimpan dan
restore. 4 daemon lainnya yaitu director, file, storage, dan katalog (mysql, postgresql atau sqlite)
harus di konfigurasikan dengan benar. Biasanya pada aplikasi third party sudah menggabungkan
antara bacula director dan monitor menjadi satu.
1.2 Konfigurasi dan cara kerja Bacula
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
2
Dari beberapa service bacula diatas terdiri dari masing-masing file konfigurasi (.conf) mulai
dari director, console, file dan storage. Gambarannya sebagai berikut:
Gambar 1.1 File konfigurasi dan fungsinya
Director config (bacula-dir.conf)
• Job untuk mendefinisikan file yang akan dibackup dari satu komputer yang sudah
dipasang bacula file yang mana akan dilakukan backup sesuai dengan jadwal (schedule)
ke bacula storage.
• Client menunjuk komputer yang akan data-datanya dibackup
• Storage menunjuk komputer yang akan dijadikan tempat backup data-data dari bacula
file. Sekaligus device yang akan digunakan sebagai wadah penyimpanan data seperti
tape atau disk.
• Shedule mendefinisikan waktu untuk melakukan backup dan tipe backup yang akan
dikenakan seperti full, different dan incremental backup.
• FileSet mendefinisikan path dari data-data yang akan dibackup yang ada pada komputer
yang sudah dipasang bacula file
• Pool koleksi tape atau disk pada suatu storage yang akan digunakan.
• Messages adalah setingan notifikasi email. Sehingga catatan pada saat backup berhasil
atau tidak akan langsung dikirim via email sebagai laporan sekaligus catatan (log) untuk
sistem adminstrator.
• Catalogue detail dari SQL database yang akan dijadikan tempat untuk index data-data
yang akan dibackup
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
3
Console Config (bconsole.conf)
• Director menentukan Bacula director yang akan dikontrol, dalam settingan ini
mendefinisikan IP dan password sebagai otentifikasinnya
File daemon config (bacula-fd.conf)
• Client mendifinisikan secara umum dari bacula file.
• Director detail otentifikasi untuk director yang boleh mengakases daemon bacula file.
• Message settingan untuk pesan-pesan balik kepada bacula director seperti notifikasi
sukses dalam backup file dan lain-lain
Storage daemon config (bacula-sd.conf)
• Storage mendifinisikan secara umum bacula storage tersebut
• Director detail otentifikasi untuk director yang boleh mengakases daemon bacula
storage.
• Message settingan untuk pesan-pesan balik kepada bacula director seperti notifikasi
sukses dalam penyimpanan data ke device penyimpanan
• Device karateristik dari storage device yang akan dipakai seperti tape drive atau disk.
Cara berkerja Bacula adalah secara interaksi atara satu service dengan service lainnya yang
dikendalikan melalui Bacula Console. digambarkan pada gambar berikut.
Gambar 1.2 Cara kerja bacula
2 Instalasi
Pada langkah-langkah berikut versi bacula yang dipakai adalah 5.0.3 dengan cara
mengkomplikasi bacula langsung dari kode sumber (Source Code), RDBMS yang akan
digunakan sebagai bacula catalog adalah Mysql dan distro linux yang dipakai adalah Centos 5.5
(i386). untuk konfigurasi adminstrasi dengan menggunakan aplikasi ketiga (third party) yaitu
Webmin versi 1.5 dengan module Bacula Backup System.
2.1 Instalasi Bacula
a. Download aplikasi-aplikasi untuk melakukan kompilasi source code
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
4
# yum groupinstall “Development Tools”
b. Download mysql-server dan library tambahannya (devel)
# yum -y install mysql-server mysql-devel
c. Download bacula source code bacula versi 5.0.3
# wget -c http://downloads.sourceforge.net/project/bacula/bacula/5.0.3/bacula-5.0.3.tar.gz
d. Ektrak file arsip source code tersebut dan masuk kedalam folder hasil ektrakan
# tar xvf bacula-5.0.3.tar.gz && cd bacula-5.0.3/
e. Sebelum dilakukan kompilasi tambahkan konfigurasi berikut
# ./configure \
--sbindir=$HOME/bacula/bin \
--sysconfdir=$HOME/bacula/bin \
--with-pid-dir=$HOME/bacula/bin/working \
--with-subsys-dir=$HOME/bacula/bin/working \
--with-mysql \
--with-working-dir=$HOME/bacula/bin/working \
keterangan:
--sbindir = menentukan path dari file binary (executeable) bacula hasil kompilasi
--sysconfdir = menentukan path dari file-file konfigurasi untuk bacula (director, storage, file
dan lain-lain)
--with-pid-dir = menentukan lokasi path dari PID ( proses ID) file.
--with-subsys-dir = menetukan lokasi path dari subsys file
--with-mysql = memberitahu bahwa akan menggunakan mysql sebagai RDBMS yang dipakai
sebagai catalog.
--with-working-dir = menentukan path sebagai direktori kerja bacula
f. Untuk melihat konfigurasi lainnya dapat menggunakan perintah berikut
# ./configure –help
g. lakukan kompilasi sekaligus instalasi Bacula
# make && make install
h. Setelah kompilasi selesai maka pastikan mysql daemon sudah berjalan
# service mysqld start
I. Masuk kedalam direktori yang sudah disetting sebagai konfigurasi direktori
# cd /root/bacula/etc/
j. Kemudian akan membuat database , tabel dan hak akses untuk bacula utntuk RDBMS Mysql
# ./create_mysql_database
# ./make_bacula_tables
# ./grant_mysql_privileges
Jika pada mysql diberikan password maka tambahkan argumen -p pada setiap akan
mengeksekusi file script diatas. Contoh:
# ./create_mysql_database -p
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
5
k. Membuat bacula agar langsung aktif pada saat boot
# echo "/root/bacula/bin/bacula start" >> /etc/rc.local
2.2 Installasi Webmin
Setelah installasi bacula selesai kemudian instalasi webmin sebagai aplikasi ketiga (third party)
agar mempermudah konfigurasi sebagai Bacula Console dan Bacula Monitor
a. Download webmin
# wget -c http://downloads.sourceforge.net/project/webadmin/webmin/1.530/webmin-1.530.tar.gz
b. Ekstrak file arsip webmin kemudian lakukan instalasi
# tar xvf webmin-1.520.tar.gz && sh webmin-1.520/setup.sh
c. Setelah instalasi selesai maka webmin dapat langsung digunakan dengan membuka web
browser pada domain localhost dengan port defaultnya 10000. jadi jika diakses secara lokal
pada komputer tersebut menjadi localhost:10000
Gambar 2.1 Url webmin pada browser
d. Pada search module masukan keyword bacula
Gambar 2.2 Mencari modul webmin untuk bacula
e. Klik pada hasil pencarian pertama yaitu Bacula Backup System
Gambar 2.3 Bacula Backup System pada webmin
f. Setelah masuk kedalam modul Bacula Backup System . Kemudian lakukan setup pada
module configuration.
Gambar 2.4 Peringatan belum ada konfigurasi untuk Bacula pada modul webmin
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
6
g. Ganti database dengan Mysql dan masukan pada Bacula Configuration Directory menjadi
path dimana yang sudah disetting sebagai direktori sistem pada saat kompilasi. Kemudian klik
tombol save.
Gambar 2.5 Konfigurasi modul Bacula Backup System
h. Pada main page klik tombol Start Bacula untuk memulai service-service bacula
Gambar 2.5 Mengaktifkan daemon-daemon bacula
2.3 Menambahkan Client
Secara default komputer dimana bacula di compile sudah menyertakan Client (bacula file).
Namun apabila ingin menampatkan Client pada komputer lain maka daemon untuk bacula file
harus dipasang pada komputer tersebut baik langsung download melalui repository atau
kompilasi source code. Dan untuk bacula Client dapat digunakan pada Sistem Operasi
Windows. Cara-cara Berikut ini hanya pada Centos yang berbeda.
a. Download aplikasi – aplikasi untuk melakukan kompilasi source code
# yum groupinstall “Development Tools”
b. Pada direktory source code, tambahkan argumen yang menyertakan direktory untuk file
binary bacula, direktori file konfigurasi dan argumen untuk menyatakan hanya memasang
daemon bacula file
# ./configure –sbindir=/root/bacula/bin –sysconfdir=/root/bacula/etc –enable-client-only
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
7
c. Lakukan kompilasi
# make && make install
d. Salin password pada client yang telah dibuat. File konfigurasi Client adalah sesuai dengan
yang telah dikonfigurasikan pada saat kompilasi.
# cat /root/bacula/etc/bacula-fd.conf | grep Password | head -n1 | cut -d\" -f2
e. Kemudian salin konfigurasi password pada Client baru ke bacula console (pada webmin).
Backup Clients > Add a new backup client
Gambar 2.6 Menambahkan client pada Bacula Backup System
Masukan nama , password pada bacula storage dan Ip komputer dari bacula storage yang telah
dibuat . Kemudian klik tombol save
f. Pastikan Bacula File yang telah dibuat dapat diakses oleh bacula director
Client Status > Pilih nama dari client
Gambar 2.7 Cek status client yang sudah dibuat
Jika terjadi kesalahan pastikan password dan Ip yang dimasukan pada konfigurasi client pada
bacula director (melalui webmin) sudah benar.
2.4 Menambahkan Storage
Sama seperti bacula client yang secara default pada saat kompilasi pada komputer yang ingin
dipasang bacula director akan secara langsung dipasang. Akan tetapi jika hanya ingin memasang
daemon bacula storage maka pada saat kompilasi pada source code dengan menambahkan
parameter --enable-build-stored
a. Download aplikasi – aplikasi untuk melakukan kompilasi source code
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
8
# yum groupinstall “Development Tools”
b. Pada direktory source code, tambahkan argumen yang menyertakan direktory untuk file
binary bacula, direktori file konfigurasi dan argumen untuk menyatakan hanya memasang
daemon bacula storage
# ./configure –sbindir=/root/bacula/bin –sysconfdir=/root/bacula/etc --enable-build-stored
c. Lakukan kompilasi
# make && make install
d. Salin password pada storage yang telah dibuat. File konfigurasi Storage adalah sesuai dengan
yang telah dikonfigurasikan pada saat kompilasi.
# cat /root/bacula/etc/bacula-sd.conf | grep Password | head -n1 | cut -d\" -f2
e. Kemudian salin konfigurasi password pada Client yang sudah dibuat ke bacula Direktory
(pada webmin).
Storage Daemons > Add a new storage daemon
Gambar 2.8 Menambahkan storage pada Bacula Backup System
Masukan nama , password pada bacula storage dan Ip komputer dari bacula storage yang telah
dibuat . Kemudian klik tombol save
f. Pastikan bacula storage yang telah dibuat dapat diakses oleh bacula director
Storage Daemon Status > Pilih nama dari storage
Gambar 2.9 Cek status storage yang sudah dibuat
Jika terjadi kesalahan pastikan password dan Ip yang dimasukan pada konfigurasi Storage pada
bacula director (melalui webmin) sudah benar.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
9
3. Studi Kasus
Berikut ini adalah contoh kasus dimana akan melakukan backup akan dilakukan setiap
minggunya yaitu pada hari minggu akan dilakukan Full Backup, pada hari senin hingga rabu
akan dilakukan Differential backup dan pada hari kamis hingga sabtu akan dilakukan
incremental backup. Dan akan dilakukan untuk Full backup pada jam 22.00 , Differential pada
jam 17.00 dan Incremental pada jam 20.00. Storage yang akan dipakai pada Full, Defferential
dan Incremental Backup akan ditempatkan pada storage yang berbeda.
Berikut gambaran jadwal backup
Minggu Senin Selasa Rabu Kamis Jum'at Sabtu
Keteranga
n
Storage 1 Storage 2 Storage 2 Storage 2 Storage 3 Storage 3 Storage 3
a. Membuat Volume Pool untuk ketiga storage
Volume Pools > Add a new volume pool
Gambar 3.1 Membuat volume pool
Konfigurasi penambahan volume diatas dilakukan 3 kali karena akan ada 3 storage yang akan
dipakai
b. Menentukan file atau direktory pada komputer dipasang Daemon Bacula file yang akan
dibackup
File Sets > Add a new backup file set
Gambar 3.2 Setting File Set (file/direktori yang akan dibackup)
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
10
Dapat menentukan lebih dari satu file atau direktory . Juga bisa diatur file atau direktory yang
ada pada diretory yang sudah ditentukan dimana tidak disertakan untuk backup (exclude). Dan
jika file atau direktory tersebut cukup besar maka dapat diatur tingkat kompresi yang akan
ditempatkan pada bacula storage.
c. Kemudian tentukan waktu dimana Job Backup akan dilaksanakan
Backup Schedules > Add a new backup schedule
Gambar 3.3 Membuat jadwal/schedule backup
dan pada volume masukan Volume Pool yang sudah dibuat sebelumnya berdasarkan storage
masing-masing.
d. Membuat label pada masing-masing Volume Pool yang sudah dibuat sebelumnya
Label Volume > Tentukan Storage Daemon
Gambar 3.4 Memberi label pada volume Pool
Volume Pool yang akan dilabeli dan nama label . Dan dilakukan pada untuk volume pool
lainnya.
e. Kemudian buat Job berdasarkan File Set , Job Schedule, dan Volume Pool yang sudah dibuat
diatas
Backup Jobs > Add a new backup job
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
11
Gambar 3.5 Membuat job backup
f. Lakukan tes dan sekaligus membuat full backup pertama
Run Backup Job > Pilih job yang akan dikerjakan
Gambar 3.6 Tombol menjalankan backup
Untuk selanjutnya pada setiap pekerjaan backup akan dilakukan secara berkala sesuai dengan
waktu / jadwal yang sudah dibuat.
g. Untuk melakukan restore dari data-data yang telah dibackup.
Restore Backup > pilih job yang berhasil dilakukan backup , kemudian masukan path direktori
atau file akan dilakukan restore.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
12
Gambar 3.7 Melakukan restore file yang telah dibackup
4 Penutup
Bacula adalah pilihan tepat dalam melakukan backup secara berkala dengan sistem
network client server terlebih lagi dengan lisensi GPL maka siapapun “bebas” menggunakan
bahkan mengembangkannya dan secara fitur-fitur yang dimiliki tidak kalah dengan aplikasiaplikasi
backup propertary lainnya.
Tutorial diatas sangat jauh sebagai referensi tunggal bagi yang ingin “ngoprek” bacula
lebih dalam, karena dalam tulisan ini tidak diimplementasikan langsung pada tape dan
sebenarnya masih banyak fitur-fitur dari bacula yang tidak dibahas dalam tutorial ini, untuk
lebih lanjutnya ane sarankan untuk membaca dokumentasi bacula pada situs resminya yang
sudah dibuatkan dalam bentuk pdf. Jika ada hal yang ingin didiskusikan terutama mengenai
tulisan ini dapat melaui email atau via YM penulis.
Biografi Penulis
Imam Omar Mochtar. Seorang hamba Allah yang lahir di Jakarta pada
tahun 1991, Alhamdulillah menyelesaikan jenjang pendidikan S3 (SD,
SMP, SMA) dan sekarang sedang duduk dibangku kuliah di LP3T Nurul
Fikri dalam program professi. Menyukai hal-hal yang berbau System
Administrator dan Pemograman. Bahasa pemograman yang sedang
diminati adalah Shell Script, Python dan Java. Alasan membuat tulisan ini
adalah sebagai dokumentasi dari apa yang telah dioprek dan sekaligus
berbagi pengetahuan bagi yang ingin mengoprek hal yang sama.
source : http://ilmukomputer.org/wp-content/uploads/2010/12/ImamOmar-Backup_Bacula.pdf
akan mengakibatkan hilangnya data baik itu diakibatkan oleh kesalahan dari pengguna atau halhal
teknis lainnya seperti umur hard disk yang sudah tidak layak pakai dan lain-lain. Oleh
karena itu perencanaan backup secara berkala harus dilakukan terutama pada komputer desktop
atau server yang menyimpan data-data peting.
Untuk mempermudah dalam melakukan backup maka para pengembang software membuat
aplikasi khusus dengan sistem network Client Server. Sehingga data-data yang akan dibackup
lebih teratur dan lebih aman. Salah satu dari aplikasi network client server backup yang open
source dan mempunyai fitur-fitur yang sama dengan aplikasi berbayar lainnya adalah Bacula.
1. Pendahuluan
Bacula adalah aplikasi network client/server untuk mengatur backup, recovery, dan
verifikasi data komputer melalui Jaringan dari komputer yang berbeda atau pada satu
komputer saja. Bacula juga mendukung berbagai macam media penyimpanan seperti tape dan
disk dan cenderung mudah untuk digunakan karena tersedia banyak front end untuk Bacula.
Lisensi bacula adalah GNU Version 2 yang dan secara fungsi sama dengan aplikasi
propertary lainnya seperti Legato Netwroker, ARCserveIT, Arkeia atau PerfectBacup dan lainlain
oleh karena itu sangat cocok untuk perusahaan yang ingin melakukan backup secara
berkala tanpa mengeluarkan banyak dana yang akan dikeluarkan.
1.1 Komponen-komponen Bacula
Dalam bacula terdiri atas 5 service / komponen yaitu:
Bacula Director
Bacula director adalah service program yang membawahi semua backup, restore, verifikasi, dan
operasi pengarsipan karena daemon ini berhubungan langsung dengan daemon-daemon lainnya.
Seorang system adminstrator menggunakan daemon ini untuk melakukan penjadwalan backup
dan recovery data. dan bacula director berjalan secara daemon yang mana akan dikendalikan
melalui bacula console
Bacula Console
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
1
Lisensi Dokumen:
Copyright © 2003-2006 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus
atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin
terlebih dahulu dari IlmuKomputer.Com.
Bacula console adalah aplikasi yang digunakan oleh seorang sistem adminstrator untuk
mengontrol dan berkomunikasi dengan daemon bacula director dalam pengaturan konfigurasi.
bacula console terbagi menjadi 3 macam interface yang tersedia antar lain:
1. Text-based console interface.
2. Qt-based interface
3. wxWidgest graphical interface
pada ketiga interface diatas adalah yang dibuat langsung oleh developer bacula (official) ,
sedangkan ada pula aplikasi ketiga (third party) yang menyediakan bacula console dengan
interface yang lainnya seperti web-based seperti module bacula yang tersedia pada addon
webmin , dan lain-lain.
Bacula File
Bacula file adalah program client yang dipasang pada komputer yang akan dibackup datadatanya
yang mana akan dikirimkan kepada Bacula Storage atau storage server. Dan hingga
tulisan ini dibuat sudah ada dalam versi binary untuk windows.
Bacula Storage
Bacula storage service adalah aplikasi yang bertugas sebagai tempat penyimpanan data-data file
yang akan dibackup dan pada Bacula storage langsung berinteraksi dengan media penyimpanan
data yaitu phisical backup media atau volume/disk sehingga sering disebut sebagai storage
server. dengan kata lain daemon storage bertanggung jawab atas membaca dan menulis tape
atau berbagai macam media tempat penyimpanan lainnya seperti hard disk(File), Dvd dan lainlain
Bacula Catalog
Bacula Catalog service bertugas sebagai pengelola index file-file yang akan dan telah dibackup,
catatan /log dari aktifitas job backup atau restore dan lain-lain kedalam database sehingga
seorang sistem adminstrator akan sangat mudah dalam melakukan pengembalian data yang telah
dibackup (restore). Hingga tulisan ini dibuat Bacula sudah mendukung 3 aplikasi RDBMS
yaitu Mysql, Postgresql dan Sqlite.
Bacula Monitor
Bacula monitor adalah aplikasi yang digunankan untuk memonitor status terkini dari Bacula
Director daemon , Bacula File daemon, Bacula Storage Daemon. dan hingga saat ini hanya
dibuatkan dalam versi GTK+ yang mana dapat digunakan pada berbagai desktop environment
seperti GNOME dan KDE, agar bacula monitor dapat berjalan sukses dalam menyimpan dan
restore. 4 daemon lainnya yaitu director, file, storage, dan katalog (mysql, postgresql atau sqlite)
harus di konfigurasikan dengan benar. Biasanya pada aplikasi third party sudah menggabungkan
antara bacula director dan monitor menjadi satu.
1.2 Konfigurasi dan cara kerja Bacula
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
2
Dari beberapa service bacula diatas terdiri dari masing-masing file konfigurasi (.conf) mulai
dari director, console, file dan storage. Gambarannya sebagai berikut:
Gambar 1.1 File konfigurasi dan fungsinya
Director config (bacula-dir.conf)
• Job untuk mendefinisikan file yang akan dibackup dari satu komputer yang sudah
dipasang bacula file yang mana akan dilakukan backup sesuai dengan jadwal (schedule)
ke bacula storage.
• Client menunjuk komputer yang akan data-datanya dibackup
• Storage menunjuk komputer yang akan dijadikan tempat backup data-data dari bacula
file. Sekaligus device yang akan digunakan sebagai wadah penyimpanan data seperti
tape atau disk.
• Shedule mendefinisikan waktu untuk melakukan backup dan tipe backup yang akan
dikenakan seperti full, different dan incremental backup.
• FileSet mendefinisikan path dari data-data yang akan dibackup yang ada pada komputer
yang sudah dipasang bacula file
• Pool koleksi tape atau disk pada suatu storage yang akan digunakan.
• Messages adalah setingan notifikasi email. Sehingga catatan pada saat backup berhasil
atau tidak akan langsung dikirim via email sebagai laporan sekaligus catatan (log) untuk
sistem adminstrator.
• Catalogue detail dari SQL database yang akan dijadikan tempat untuk index data-data
yang akan dibackup
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
3
Console Config (bconsole.conf)
• Director menentukan Bacula director yang akan dikontrol, dalam settingan ini
mendefinisikan IP dan password sebagai otentifikasinnya
File daemon config (bacula-fd.conf)
• Client mendifinisikan secara umum dari bacula file.
• Director detail otentifikasi untuk director yang boleh mengakases daemon bacula file.
• Message settingan untuk pesan-pesan balik kepada bacula director seperti notifikasi
sukses dalam backup file dan lain-lain
Storage daemon config (bacula-sd.conf)
• Storage mendifinisikan secara umum bacula storage tersebut
• Director detail otentifikasi untuk director yang boleh mengakases daemon bacula
storage.
• Message settingan untuk pesan-pesan balik kepada bacula director seperti notifikasi
sukses dalam penyimpanan data ke device penyimpanan
• Device karateristik dari storage device yang akan dipakai seperti tape drive atau disk.
Cara berkerja Bacula adalah secara interaksi atara satu service dengan service lainnya yang
dikendalikan melalui Bacula Console. digambarkan pada gambar berikut.
Gambar 1.2 Cara kerja bacula
2 Instalasi
Pada langkah-langkah berikut versi bacula yang dipakai adalah 5.0.3 dengan cara
mengkomplikasi bacula langsung dari kode sumber (Source Code), RDBMS yang akan
digunakan sebagai bacula catalog adalah Mysql dan distro linux yang dipakai adalah Centos 5.5
(i386). untuk konfigurasi adminstrasi dengan menggunakan aplikasi ketiga (third party) yaitu
Webmin versi 1.5 dengan module Bacula Backup System.
2.1 Instalasi Bacula
a. Download aplikasi-aplikasi untuk melakukan kompilasi source code
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
4
# yum groupinstall “Development Tools”
b. Download mysql-server dan library tambahannya (devel)
# yum -y install mysql-server mysql-devel
c. Download bacula source code bacula versi 5.0.3
# wget -c http://downloads.sourceforge.net/project/bacula/bacula/5.0.3/bacula-5.0.3.tar.gz
d. Ektrak file arsip source code tersebut dan masuk kedalam folder hasil ektrakan
# tar xvf bacula-5.0.3.tar.gz && cd bacula-5.0.3/
e. Sebelum dilakukan kompilasi tambahkan konfigurasi berikut
# ./configure \
--sbindir=$HOME/bacula/bin \
--sysconfdir=$HOME/bacula/bin \
--with-pid-dir=$HOME/bacula/bin/working \
--with-subsys-dir=$HOME/bacula/bin/working \
--with-mysql \
--with-working-dir=$HOME/bacula/bin/working \
keterangan:
--sbindir = menentukan path dari file binary (executeable) bacula hasil kompilasi
--sysconfdir = menentukan path dari file-file konfigurasi untuk bacula (director, storage, file
dan lain-lain)
--with-pid-dir = menentukan lokasi path dari PID ( proses ID) file.
--with-subsys-dir = menetukan lokasi path dari subsys file
--with-mysql = memberitahu bahwa akan menggunakan mysql sebagai RDBMS yang dipakai
sebagai catalog.
--with-working-dir = menentukan path sebagai direktori kerja bacula
f. Untuk melihat konfigurasi lainnya dapat menggunakan perintah berikut
# ./configure –help
g. lakukan kompilasi sekaligus instalasi Bacula
# make && make install
h. Setelah kompilasi selesai maka pastikan mysql daemon sudah berjalan
# service mysqld start
I. Masuk kedalam direktori yang sudah disetting sebagai konfigurasi direktori
# cd /root/bacula/etc/
j. Kemudian akan membuat database , tabel dan hak akses untuk bacula utntuk RDBMS Mysql
# ./create_mysql_database
# ./make_bacula_tables
# ./grant_mysql_privileges
Jika pada mysql diberikan password maka tambahkan argumen -p pada setiap akan
mengeksekusi file script diatas. Contoh:
# ./create_mysql_database -p
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
5
k. Membuat bacula agar langsung aktif pada saat boot
# echo "/root/bacula/bin/bacula start" >> /etc/rc.local
2.2 Installasi Webmin
Setelah installasi bacula selesai kemudian instalasi webmin sebagai aplikasi ketiga (third party)
agar mempermudah konfigurasi sebagai Bacula Console dan Bacula Monitor
a. Download webmin
# wget -c http://downloads.sourceforge.net/project/webadmin/webmin/1.530/webmin-1.530.tar.gz
b. Ekstrak file arsip webmin kemudian lakukan instalasi
# tar xvf webmin-1.520.tar.gz && sh webmin-1.520/setup.sh
c. Setelah instalasi selesai maka webmin dapat langsung digunakan dengan membuka web
browser pada domain localhost dengan port defaultnya 10000. jadi jika diakses secara lokal
pada komputer tersebut menjadi localhost:10000
Gambar 2.1 Url webmin pada browser
d. Pada search module masukan keyword bacula
Gambar 2.2 Mencari modul webmin untuk bacula
e. Klik pada hasil pencarian pertama yaitu Bacula Backup System
Gambar 2.3 Bacula Backup System pada webmin
f. Setelah masuk kedalam modul Bacula Backup System . Kemudian lakukan setup pada
module configuration.
Gambar 2.4 Peringatan belum ada konfigurasi untuk Bacula pada modul webmin
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
6
g. Ganti database dengan Mysql dan masukan pada Bacula Configuration Directory menjadi
path dimana yang sudah disetting sebagai direktori sistem pada saat kompilasi. Kemudian klik
tombol save.
Gambar 2.5 Konfigurasi modul Bacula Backup System
h. Pada main page klik tombol Start Bacula untuk memulai service-service bacula
Gambar 2.5 Mengaktifkan daemon-daemon bacula
2.3 Menambahkan Client
Secara default komputer dimana bacula di compile sudah menyertakan Client (bacula file).
Namun apabila ingin menampatkan Client pada komputer lain maka daemon untuk bacula file
harus dipasang pada komputer tersebut baik langsung download melalui repository atau
kompilasi source code. Dan untuk bacula Client dapat digunakan pada Sistem Operasi
Windows. Cara-cara Berikut ini hanya pada Centos yang berbeda.
a. Download aplikasi – aplikasi untuk melakukan kompilasi source code
# yum groupinstall “Development Tools”
b. Pada direktory source code, tambahkan argumen yang menyertakan direktory untuk file
binary bacula, direktori file konfigurasi dan argumen untuk menyatakan hanya memasang
daemon bacula file
# ./configure –sbindir=/root/bacula/bin –sysconfdir=/root/bacula/etc –enable-client-only
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
7
c. Lakukan kompilasi
# make && make install
d. Salin password pada client yang telah dibuat. File konfigurasi Client adalah sesuai dengan
yang telah dikonfigurasikan pada saat kompilasi.
# cat /root/bacula/etc/bacula-fd.conf | grep Password | head -n1 | cut -d\" -f2
e. Kemudian salin konfigurasi password pada Client baru ke bacula console (pada webmin).
Backup Clients > Add a new backup client
Gambar 2.6 Menambahkan client pada Bacula Backup System
Masukan nama , password pada bacula storage dan Ip komputer dari bacula storage yang telah
dibuat . Kemudian klik tombol save
f. Pastikan Bacula File yang telah dibuat dapat diakses oleh bacula director
Client Status > Pilih nama dari client
Gambar 2.7 Cek status client yang sudah dibuat
Jika terjadi kesalahan pastikan password dan Ip yang dimasukan pada konfigurasi client pada
bacula director (melalui webmin) sudah benar.
2.4 Menambahkan Storage
Sama seperti bacula client yang secara default pada saat kompilasi pada komputer yang ingin
dipasang bacula director akan secara langsung dipasang. Akan tetapi jika hanya ingin memasang
daemon bacula storage maka pada saat kompilasi pada source code dengan menambahkan
parameter --enable-build-stored
a. Download aplikasi – aplikasi untuk melakukan kompilasi source code
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
8
# yum groupinstall “Development Tools”
b. Pada direktory source code, tambahkan argumen yang menyertakan direktory untuk file
binary bacula, direktori file konfigurasi dan argumen untuk menyatakan hanya memasang
daemon bacula storage
# ./configure –sbindir=/root/bacula/bin –sysconfdir=/root/bacula/etc --enable-build-stored
c. Lakukan kompilasi
# make && make install
d. Salin password pada storage yang telah dibuat. File konfigurasi Storage adalah sesuai dengan
yang telah dikonfigurasikan pada saat kompilasi.
# cat /root/bacula/etc/bacula-sd.conf | grep Password | head -n1 | cut -d\" -f2
e. Kemudian salin konfigurasi password pada Client yang sudah dibuat ke bacula Direktory
(pada webmin).
Storage Daemons > Add a new storage daemon
Gambar 2.8 Menambahkan storage pada Bacula Backup System
Masukan nama , password pada bacula storage dan Ip komputer dari bacula storage yang telah
dibuat . Kemudian klik tombol save
f. Pastikan bacula storage yang telah dibuat dapat diakses oleh bacula director
Storage Daemon Status > Pilih nama dari storage
Gambar 2.9 Cek status storage yang sudah dibuat
Jika terjadi kesalahan pastikan password dan Ip yang dimasukan pada konfigurasi Storage pada
bacula director (melalui webmin) sudah benar.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
9
3. Studi Kasus
Berikut ini adalah contoh kasus dimana akan melakukan backup akan dilakukan setiap
minggunya yaitu pada hari minggu akan dilakukan Full Backup, pada hari senin hingga rabu
akan dilakukan Differential backup dan pada hari kamis hingga sabtu akan dilakukan
incremental backup. Dan akan dilakukan untuk Full backup pada jam 22.00 , Differential pada
jam 17.00 dan Incremental pada jam 20.00. Storage yang akan dipakai pada Full, Defferential
dan Incremental Backup akan ditempatkan pada storage yang berbeda.
Berikut gambaran jadwal backup
Minggu Senin Selasa Rabu Kamis Jum'at Sabtu
Keteranga
n
Storage 1 Storage 2 Storage 2 Storage 2 Storage 3 Storage 3 Storage 3
a. Membuat Volume Pool untuk ketiga storage
Volume Pools > Add a new volume pool
Gambar 3.1 Membuat volume pool
Konfigurasi penambahan volume diatas dilakukan 3 kali karena akan ada 3 storage yang akan
dipakai
b. Menentukan file atau direktory pada komputer dipasang Daemon Bacula file yang akan
dibackup
File Sets > Add a new backup file set
Gambar 3.2 Setting File Set (file/direktori yang akan dibackup)
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
10
Dapat menentukan lebih dari satu file atau direktory . Juga bisa diatur file atau direktory yang
ada pada diretory yang sudah ditentukan dimana tidak disertakan untuk backup (exclude). Dan
jika file atau direktory tersebut cukup besar maka dapat diatur tingkat kompresi yang akan
ditempatkan pada bacula storage.
c. Kemudian tentukan waktu dimana Job Backup akan dilaksanakan
Backup Schedules > Add a new backup schedule
Gambar 3.3 Membuat jadwal/schedule backup
dan pada volume masukan Volume Pool yang sudah dibuat sebelumnya berdasarkan storage
masing-masing.
d. Membuat label pada masing-masing Volume Pool yang sudah dibuat sebelumnya
Label Volume > Tentukan Storage Daemon
Gambar 3.4 Memberi label pada volume Pool
Volume Pool yang akan dilabeli dan nama label . Dan dilakukan pada untuk volume pool
lainnya.
e. Kemudian buat Job berdasarkan File Set , Job Schedule, dan Volume Pool yang sudah dibuat
diatas
Backup Jobs > Add a new backup job
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
11
Gambar 3.5 Membuat job backup
f. Lakukan tes dan sekaligus membuat full backup pertama
Run Backup Job > Pilih job yang akan dikerjakan
Gambar 3.6 Tombol menjalankan backup
Untuk selanjutnya pada setiap pekerjaan backup akan dilakukan secara berkala sesuai dengan
waktu / jadwal yang sudah dibuat.
g. Untuk melakukan restore dari data-data yang telah dibackup.
Restore Backup > pilih job yang berhasil dilakukan backup , kemudian masukan path direktori
atau file akan dilakukan restore.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
12
Gambar 3.7 Melakukan restore file yang telah dibackup
4 Penutup
Bacula adalah pilihan tepat dalam melakukan backup secara berkala dengan sistem
network client server terlebih lagi dengan lisensi GPL maka siapapun “bebas” menggunakan
bahkan mengembangkannya dan secara fitur-fitur yang dimiliki tidak kalah dengan aplikasiaplikasi
backup propertary lainnya.
Tutorial diatas sangat jauh sebagai referensi tunggal bagi yang ingin “ngoprek” bacula
lebih dalam, karena dalam tulisan ini tidak diimplementasikan langsung pada tape dan
sebenarnya masih banyak fitur-fitur dari bacula yang tidak dibahas dalam tutorial ini, untuk
lebih lanjutnya ane sarankan untuk membaca dokumentasi bacula pada situs resminya yang
sudah dibuatkan dalam bentuk pdf. Jika ada hal yang ingin didiskusikan terutama mengenai
tulisan ini dapat melaui email atau via YM penulis.
Biografi Penulis
Imam Omar Mochtar. Seorang hamba Allah yang lahir di Jakarta pada
tahun 1991, Alhamdulillah menyelesaikan jenjang pendidikan S3 (SD,
SMP, SMA) dan sekarang sedang duduk dibangku kuliah di LP3T Nurul
Fikri dalam program professi. Menyukai hal-hal yang berbau System
Administrator dan Pemograman. Bahasa pemograman yang sedang
diminati adalah Shell Script, Python dan Java. Alasan membuat tulisan ini
adalah sebagai dokumentasi dari apa yang telah dioprek dan sekaligus
berbagi pengetahuan bagi yang ingin mengoprek hal yang sama.
source : http://ilmukomputer.org/wp-content/uploads/2010/12/ImamOmar-Backup_Bacula.pdf

