commun:bacula
Ceci est une ancienne révision du document !
Table des matières
Configuration de Bacula
Installation
sudo apt install bacula
Ne pas chercher à configurer le client postgresql.
sudo apt install bacula-director-sqlite3
Configuration
First mount the backup disk (see Backup des données)
Bacula needs a backup directory for storing backup archives and restore directory where restored files will be placed. So, if your system has multiple partitions then make sure to create the directories on one of large partition.
Run the commands below to create new directories for both backup and restore points.
mkdir -p /media/sauvegarde/b_backup/
Set the ownership and then permissions to the above directories using below commands.
chown -R bacula:bacula /media/sauvegarde/b_backup chmod -R 700 /media/sauvegarde/b_backup
- bacula-dir.conf
# # Default Bacula Director Configuration file # # The only thing that MUST be changed is to add one or more # file or directory names in the Include directive of the # FileSet resource. # # For Bacula release 9.0.6 (20 November 2017) -- ubuntu 18.04 # # You might also want to change the default email address # from root to your address. See the "mail" and "operator" # directives in the Messages resource. # # Copyright (C) 2000-2017 Kern Sibbald # License: BSD 2-Clause; see file LICENSE-FOSS # Director { # define myself Name = cahute-dir DIRport = 9101 # where we listen for UA connections QueryFile = "/etc/bacula/scripts/query.sql" WorkingDirectory = "/var/lib/bacula" PidDirectory = "/run/bacula" Maximum Concurrent Jobs = 20 Password = "BYF1Lkmsw-VZp6osL4xa5scn63QPEefB8" # Console password Messages = Daemon DirAddress = 127.0.0.1 } JobDefs { Name = "DefaultJob" Type = Backup Level = Incremental Client = cahute-fd FileSet = "Full Set" Schedule = "WeeklyCycle" Storage = File1 Messages = Standard Pool = File SpoolAttributes = yes Priority = 10 Write Bootstrap = "/var/lib/bacula/%c.bsr" } # # Define the main nightly save backup job # By default, this job will back up to disk in /nonexistant/path/to/file/archive/dir Job { Name = "BackupClient1" JobDefs = "DefaultJob" } # Backup the catalog database (after the nightly save) Job { Name = "BackupCatalog" JobDefs = "DefaultJob" Level = Full FileSet="Catalog" Schedule = "WeeklyCycleAfterBackup" # This creates an ASCII copy of the catalog # Arguments to make_catalog_backup.pl are: # make_catalog_backup.pl <catalog-name> RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog" # This deletes the copy of the catalog RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup" Write Bootstrap = "/var/lib/bacula/%n.bsr" Priority = 11 # run after main backup } # # Standard Restore template, to be changed by Console program # Only one such job is needed for all Jobs/Clients/Storage ... # Job { Name = "RestoreFiles" Type = Restore Client=cahute-fd Storage = File1 # The FileSet and Pool directives are not used by Restore Jobs # but must not be removed FileSet="Full Set" Pool = File Messages = Standard Where = /media/stockage/system/b_backup/restore } # List of files to be backed up FileSet { Name = "Full Set" Include { Options { signature = MD5 } # # Put your list of files here, preceded by 'File =', one per line # or include an external list with: # # File = <file-name # # Note: / backs up everything on the root partition. # if you have other partitions such as /usr or /home # you will probably want to add them too. # # By default this is defined to point to the Bacula binary # directory to give a reasonable FileSet to backup to # disk storage during initial testing. # File = /media/stockage } # # If you backup the root directory, the following two excluded # files can be useful # Exclude { File = /var/lib/bacula File = /media/stockage/system/b_backup File = /proc File = /tmp File = /sys File = /.journal File = /.fsck } } # # When to do the backups, full backup on first sunday of the month, # differential (i.e. incremental since full) every other sunday, # and incremental backups other days Schedule { Name = "WeeklyCycle" Run = Full 1st sun at 23:05 Run = Differential 2nd-5th sun at 23:05 Run = Incremental mon-sat at 23:05 } # This schedule does the catalog. It starts after the WeeklyCycle Schedule { Name = "WeeklyCycleAfterBackup" Run = Full sun-sat at 23:10 } # This is the backup of the catalog FileSet { Name = "Catalog" Include { Options { signature = MD5 } File = "/var/lib/bacula/bacula.sql" } } # Client (File Services) to backup Client { Name = cahute-fd Address = localhost FDPort = 9102 Catalog = MyCatalog Password = "yiqU4maMT7N0cqRr6k5ZZffEWHeFeJqHG" # password for FileDaemon File Retention = 60 days # 60 days Job Retention = 6 months # six months AutoPrune = yes # Prune expired Jobs/Files } # Definition of file Virtual Autochanger device Autochanger { Name = File1 # Do not use "localhost" here Address = localhost # N.B. Use a fully qualified name here SDPort = 9103 Password = "oWgUbJKr6EDurLmWJ1-h2Zx2kvLhaHMBP" Device = FileChgr1 Media Type = File1 Maximum Concurrent Jobs = 10 # run up to 10 jobs a the same time Autochanger = File1 # point to ourself } # Generic catalog service Catalog { Name = MyCatalog dbname = "bacula"; dbuser = ""; dbpassword = "" } # Reasonable message delivery -- send most everything to email address # and to the console Messages { Name = Standard # # NOTE! If you send to two email or more email addresses, you will need # to replace the %r in the from field (-f part) with a single valid # email address in both the mailcommand and the operatorcommand. # What this does is, it sets the email address that emails would display # in the FROM field, which is by default the same email as they're being # sent to. However, if you send email to more than one address, then # you'll have to set the FROM address manually, to a single address. # for example, a 'no-reply@mydomain.com', is better since that tends to # tell (most) people that its coming from an automated source. # mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r" mail = root = all, !skipped operator = root = mount console = all, !skipped, !saved # # WARNING! the following will create a file that you must cycle from # time to time as it will grow indefinitely. However, it will # also keep all your messages if they scroll off the console. # append = "/var/log/bacula/bacula.log" = all, !skipped catalog = all } # # Message delivery for daemon messages (no job). Messages { Name = Daemon mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r" mail = root = all, !skipped console = all, !skipped, !saved append = "/var/log/bacula/bacula.log" = all, !skipped } # Default pool definition Pool { Name = Default Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365 days # one year Maximum Volume Bytes = 50G # Limit Volume size to something reasonable Maximum Volumes = 100 # Limit number of Volumes in Pool } # File Pool definition Pool { Name = File Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365 days # one year Maximum Volume Bytes = 50G # Limit Volume size to something reasonable Maximum Volumes = 100 # Limit number of Volumes in Pool Label Format = "Vol-" # Auto label } # Scratch pool definition Pool { Name = Scratch Pool Type = Backup } # # Restricted console used by tray-monitor to get the status of the director # Console { Name = cahute-mon Password = "_0dScbTDQsRGHNNJ_I3AFyn-WiLIG37vc" CommandACL = status, .status }
- bacula-sd.conf
# # Default Bacula Storage Daemon Configuration file # # For Bacula release 9.0.6 (20 November 2017) -- ubuntu 18.04 # # You may need to change the name of your tape drive # on the "Archive Device" directive in the Device # resource. If you change the Name and/or the # "Media Type" in the Device resource, please ensure # that dird.conf has corresponding changes. # # # Copyright (C) 2000-2017 Kern Sibbald # License: BSD 2-Clause; see file LICENSE-FOSS # Storage { # definition of myself Name = cahute-sd SDPort = 9103 # Director's port WorkingDirectory = "/var/lib/bacula" Pid Directory = "/run/bacula" Plugin Directory = "/usr/lib/bacula" Maximum Concurrent Jobs = 20 SDAddress = 127.0.0.1 } # # List Directors who are permitted to contact Storage daemon # Director { Name = cahute-dir Password = "oWgUbJKr6EDurLmWJ1-h2Zx2kvLhaHMBP" } # # Restricted Director, used by tray-monitor to get the # status of the storage daemon # Director { Name = cahute-mon Password = "i8PyJQ6MKMo686ZxIYf7tgwX9qYYcE_19" Monitor = yes } # # Note, for a list of additional Device templates please # see the directory <bacula-source>/examples/devices # Or follow the following link: # http://www.bacula.org/git/cgit.cgi/bacula/tree/bacula/examples/devices?h=Branch-7.4 # # # Devices supported by this Storage daemon # To connect, the Director's bacula-dir.conf must have the # same Name and MediaType. # # # Define a Virtual autochanger # Autochanger { Name = FileChgr1 Device = FileChgr1-Dev1 #, FileChgr1-Dev2 Changer Command = "" Changer Device = /dev/null } Device { Name = FileChgr1-Dev1 Media Type = File1 Archive Device = /media/sauvegarde/b_backup LabelMedia = yes; # lets Bacula label unlabeled media Random Access = Yes; AutomaticMount = yes; # when device opened, read it RemovableMedia = no; AlwaysOpen = no; Maximum Concurrent Jobs = 5 } # # Send all messages to the Director, # mount messages also are sent to the email address # Messages { Name = Standard director = cahute-dir = all }
- bacula-fd.conf
# # Default Bacula File Daemon Configuration file # # For Bacula release 9.0.6 (20 November 2017) -- ubuntu 18.04 # # There is not much to change here except perhaps the # File daemon Name to # # # Copyright (C) 2000-2015 Kern Sibbald # License: BSD 2-Clause; see file LICENSE-FOSS # # # List Directors who are permitted to contact this File daemon # Director { Name = cahute-dir Password = "yiqU4maMT7N0cqRr6k5ZZffEWHeFeJqHG" } # # Restricted Director, used by tray-monitor to get the # status of the file daemon # Director { Name = cahute-mon Password = "PjCgI9tuT3BA-6d48xs_uSF4bfqDGnXHW" Monitor = yes } # # "Global" File daemon configuration specifications # FileDaemon { # this is me Name = cahute-fd FDport = 9102 # where we listen for the director WorkingDirectory = /var/lib/bacula Pid Directory = /run/bacula Maximum Concurrent Jobs = 20 Plugin Directory = /usr/lib/bacula FDAddress = 127.0.0.1 } # Send all messages except skipped files back to Director Messages { Name = Standard director = cahute-dir = all, !skipped, !restored }
commun/bacula.1544977363.txt.gz · Dernière modification : (modification externe)
