{"id":13,"date":"2006-08-29T17:40:00","date_gmt":"2006-08-30T00:40:00","guid":{"rendered":"http:\/\/blog.brandonking.net\/?p=13"},"modified":"2009-07-09T14:54:28","modified_gmt":"2009-07-09T21:54:28","slug":"open-source-network-backup-software-bacula","status":"publish","type":"post","link":"https:\/\/brandonking.net\/blog\/2006\/08\/29\/open-source-network-backup-software-bacula\/","title":{"rendered":"Open Source Network Backup Software: Bacula"},"content":{"rendered":"<p>After getting tired of maintaining and updating a custom <a href=\"http:\/\/www.python.org\">Python<\/a> based backup network script that used <a href=\"http:\/\/samba.org\/samba\/docs\/man\/manpages-3\/smbclient.1.html\">smbclient<\/a> to backing up WinXP machines using samba, I decided to look into open source solutions. I found two high-end open source network based backup solutions that handle WinXP, Mac OS X, and Linux machines:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.amanda.org\/\">AMANDA<\/a><\/li>\n<li><a href=\"http:\/\/www.bacula.org\/\">Bacula<\/a> (My choice &#8212; reason in a moment)<\/li>\n<li>[update: 2006Aug31] <a href=\"http:\/\/backuppc.sourceforge.net\/\">BackupPC<\/a><\/li>\n<\/ul>\n<p>AMANDA has it&#8217;s advantages, including paid enterprise support through <a href=\"http:\/\/www.zmanda.com\/\">Zmanda<\/a>, which maybe be important to people in the business world.<\/p>\n<p>The main reason why I choose bacula is because AMANDA uses samba for connecting to WinXP clients and I have one pesky WinXP box which came with some high-end biology equipment and therefore the company we bought it from decided to mangle WinXP enough that samba from Linux won&#8217;t connect to it. And for the fear of bringing down an important piece of biology equipment, I have decided to not mess with that machine more than I need to. Bacula runs a file daemon (a.k.a. &#8216;service&#8217; for you Windows users) which gets me past the samba problem. So, if you were looking here for me to tell you which one is better, I really don&#8217;t know. I haven&#8217;t tried AMANDA yet.<\/p>\n<p>The other feature that really sold me is the <a href=\"http:\/\/www.bacula.org\/rel-manual\/Python_Scripting.html\">Python scripting ability built into Bacula<\/a> for extending the backup process.<\/p>\n<p>Bacula seems to work great&#8230; Although the big test will be coming in next day to three months. I just finished setting up a bacula server and 7 clients&#8230; 6 WinXP clients and 1 Kubuntu client.<\/p>\n<p>Quick overview:<br \/>\nBacula consists of three daemons:<\/p>\n<ol>\n<li>director (runs the show)<\/li>\n<li>storage (manages storage pools &amp; volumes: disk, tape, DVD, etc.)<\/li>\n<li>file (client side backup daemon\/service)<\/li>\n<\/ol>\n<p>What&#8217;s confusing about bacula at first is it&#8217;s concept of &#8216;pools&#8217; and &#8216;volumes&#8217;. My original thought was that &#8216;pools&#8217; and &#8216;volumes&#8217; were meant for tape drives and that I would only need one pool with one volume since I wanted to use file based storage on a raid-5 hard drive setup. As it turns out, it is convenient to use different pools for full, incremental, and differential backups. Also, within a pool, by putting multiple volumes (i.e. multiple disk files for it to write the backups to), you can set it up to recycle used volumes after a set amount of time! What does this mean for me&#8230; If I have enough hard drive space, it will just reuse the space over and over again. If everything is going well, I won&#8217;t have to worry about backups. Automation is wonderful! Oh, and it does e-mail me when something goes wrong and there is this &#8216;bconsole&#8217; which allows you to trigger backups, check backup status, create new pools\/volumes and much much more!<\/p>\n<p>Here is my pool\/volume setup:<\/p>\n<p><span style=\"font-weight: bold;\">FullPool:<br \/>\n<\/span>3 Volumes<br \/>\n28 Day Use<br \/>\n56 Day Expire<\/p>\n<p><span style=\"font-weight: bold;\">IncPool:<\/span><br \/>\n12 Volumes<br \/>\n7 Day Use<br \/>\n28 Day Expire<\/p>\n<p><span style=\"font-weight: bold;\">DiffPool:<\/span><br \/>\n4 Volumes<br \/>\n13 Day Use<br \/>\n28 Day Expire<\/p>\n<p>Note that I only need a full backup to last a month and I have three volumes, so I should always have two full backups and the third will be recycled.<\/p>\n<p>Here is the key schedule I use in the bacula-dir.conf:<\/p>\n<p>Schedule {<br \/>\nName = &#8220;WeeklyCycle&#8221;<br \/>\nRun = Level=Full Pool=FullBackupPool 1st sun at 23:05<br \/>\nRun = Level=Differential Pool=DiffPool 3rd-5th sun at 23:05<br \/>\nRun = Level=Incremental Pool=IncPool mon-sat at 23:05<br \/>\n}<\/p>\n<p>Let me know if you would like me to post additional information.<br \/>\n<span style=\"font-weight: bold;\"><span style=\"font-weight: bold;\"><span style=\"font-weight: bold;\"><span style=\"font-weight: bold;\"><br \/>\n<\/span><\/span><\/span><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>After getting tired of maintaining and updating a custom Python based backup network script that used smbclient to backing up WinXP machines using samba, I decided to look into open source solutions. I found two high-end open source network based backup solutions that handle WinXP, Mac OS X, and Linux machines: AMANDA Bacula (My choice [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4,5,8,10,12],"tags":[19,78],"class_list":["post-13","post","type-post","status-publish","format-standard","hentry","category-computers_it","category-linux-it","category-mac_os_x","category-software_endorsements","category-sysadmin","category-windows","tag-backup","tag-bacula"],"_links":{"self":[{"href":"https:\/\/brandonking.net\/blog\/wp-json\/wp\/v2\/posts\/13","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brandonking.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brandonking.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brandonking.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/brandonking.net\/blog\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":2,"href":"https:\/\/brandonking.net\/blog\/wp-json\/wp\/v2\/posts\/13\/revisions"}],"predecessor-version":[{"id":72,"href":"https:\/\/brandonking.net\/blog\/wp-json\/wp\/v2\/posts\/13\/revisions\/72"}],"wp:attachment":[{"href":"https:\/\/brandonking.net\/blog\/wp-json\/wp\/v2\/media?parent=13"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brandonking.net\/blog\/wp-json\/wp\/v2\/categories?post=13"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brandonking.net\/blog\/wp-json\/wp\/v2\/tags?post=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}