Bacula för Linux

Inledning

En av de backuptjänster vi erbjuder är Bacula. Den här tjänsten rekommenderar vi främst för fysiska servrar. För våra virtuella plattformar använder vi Idera och Veeam. För att komma igång med backup av din server behöver du först kontakta oss på mejl via support@glesys.se.

Denna guide riktar sig till Linux-användare. Windows-användare hänvisas till Bacula för Windows.

Installation och konfiguration av Bacula

Nedan följer instruktioner för hur du installerar och konfigurerar Bacula för användning tillsammans med vårt system.

Logga in på din server via SSH. För att kunna installera de paket som krävs för att Bacula ska fungera måste du logga in som root.

Kör detta kommando för att installera Bacula-mjukvaran (notera att detta kommando kan variera beroende på vilken Linux-distribution du använder):

apt-get install bacula-client

Öppna /etc/bacula/bacula-fd.conf och ersätt den existerande konfigurationen med konfigurationen nedan:

Om din server är placerad i Stockholm:

Director {
        Name = bacula02-fbg-fd
        Password = "YourPasswordGoesHere"
}  
FileDaemon {
        Name = ds*****
        FDport = 9102
        FDAddress = 0.0.0.0
        WorkingDirectory = /var/lib/bacula
        Pid Directory = /var/run/bacula
        Maximum Concurrent Jobs = 20
}  
Director {
        Name = bacula02-fbg-mon
        Password = "LkRjyq760wGbAXeah4ofS55bG41q4p"
        Monitor = yes
}  
Messages {
        Name = "Standard"
        director = bacula02-fbg-dir = all, !skipped
}

Om din server är placerad i Falkenberg:

Director {
        Name = bacula06-vbdc-dir
        Password = "YourPasswordGoesHere"
}
FileDaemon {
        Name = ds*****
        FDport = 9102
        FDAddress = 0.0.0.0
        WorkingDirectory = /var/lib/bacula
        Pid Directory = /var/run/bacula
        Maximum Concurrent Jobs = 20
}
Director {
        Name = bacula06-vbdc-mon
        Password = "gRTYk9qEJebexvA4BtguTCQ26kmo4J9ajY"
        Monitor = yes
}
Messages {
        Name = Standard
        director = bacula06-vbdc-dir = all, !skipped
}

Ändra YourPasswordGoesHere till ett godtyckligt lösenord. Ändra även ds****-fd till ditt servernamn, t.ex. ds1234-fd.

Bacula kräver att katalogerna /var/lib/bacula och /var/run/bacula existerar (om du inte valt andra sökvägar i din konfiguration).

Om de inte skapats vid installation gör du det med:

mkdir -p /var/lib/bacula /var/run/bacula

Starta därefter om Bacula genom att använda kommandot:

/etc/init.d/bacula-client restart

Skapa ett temporärt lösenord via https://secrets.glesys.com/ och skicka länken tillsammans med en lista på vilka kataloger du vill säkerhetskopiera till support@glesys.se. Använd gärna formatet nedan:

- name: 'ds****'
  address: '1.2.3.4'
  password: 'YourPasswordGoesHere'
  files: ['/root', '/etc', '/usr/local', '/var/spool/cron', '/home']
  excludes: ['/home/mapp1', '/home/mapp2']
  runbeforejob: '/usr/local/bin/mysqlbackup.sh root NOPASS /root/mysqldumps'
  storage: 150
  email: kund@mail.toppdomän

Tänk på att om du använder en brandvägg för att skydda din server måste du tillåta trafik för Bacula, nedan följer regler för iptables:

iptables -A INPUT -p TCP --dport 9102 -s 195.20.207.32/28 -j ACCEPT # Bacula_VBDC
iptables -A INPUT -p TCP --dport 9102 -s 195.238.77.0/28 -j ACCEPT # Bacula_FBG
iptables -A OUTPUT -p TCP --dport 9103 -d 195.20.207.32/28 -j ACCEPT # Bacula_VBDC
iptables -A OUTPUT -p TCP --dport 9103 -d 195.238.77.0/28 -j ACCEPT # Bacula_FBG
iptables -A INPUT -p TCP --sport 9103 -m state --state ESTABLISHED -j ACCEPT # Bacula

Backup av MySQL med Bacula

Backup i Bacula sker på filnivå och läser data från disk. När det gäller MySQL är det inte alltid säkert att all data har sparats ner på disk och återläsning av MySQL:s datafiler fungerar inte alltid. Därför rekommenderar vi att du dumpar databasen till SQL-filer med jämna mellanrum.

Exempel på dump av data i MySQL:

#!/bin/sh
if [ -z $3 ]; then
    echo "Wrong syntax..."
    echo "use: $0 <mysql_root> <mysql_password> <dump_dir>"
    exit
fi
echo Dumping MySQL database to $3.
umask 077
rm $3/*
mkdir $3 &>/dev/null
cd $3
for i in `echo "SHOW DATABASES" |/usr/bin/mysql -s -u $1 -p$2`; do
     /usr/bin/mysqldump --single-transaction -f -u $1 -p$2 $i >$i.sql
    if [ $? -ne 0 ] ; then
            echo ERROR: Fail when dumping $i
    fi
done
du -sh $3
echo Databasedump done

Detta skript hade kunnat köras i crontab med följande instruktion för att spara databasen till fil varje dag klockan 22:00:

  0 22 * * * /root/mysqlbackup.sh root YOUR_DATABASE_PASSWORD /root/mysqldumps

Hittar du inte det du söker?

Kontakta oss gärna för mer information. Vi hjälper dig att komma fram till den bästa lösningen för dina behov.

Skicka e-post Ring 0200-23 88 00