![]() |
![]() |
Accueil > Informatique > Sauvegardes > Bacula
BaculaDe $1Sommaire
Sommaire
Installationapt-get install mysql-server Créer un utilisateur mysql bacula apt-get install bacula bacula-director-mysql bacula-sd-mysql bacula-doc apt-get install bacula-console-qt Installer Bacula-webapt-get install apache2 php5 gettext php5-gd php-db php5-mysql Téléchargez : http://sourceforge.net/projects/bacu...guy-xxx.tar.gz Décompressez le et déplacez le dossier bacula-web sur le serveur. Editez le fichier bacula.conf pour le connecter au serveur mysql Dans le fichier /etc/php5/apache2/php.ini pensez à activer les extensions : extension=mysql.so extension=gd.so Redémarrez le serveur web. /etc/init.d/apache2 restart Chemin du script de création des tables bacula/usr/share/bacula-director/make_mysql_tables Sourceshttp://doc.hisoka.fr/doku.php?id=ser...:webmin_bacula Exemples de fichiers confbacula-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 2.2.8 (26 January 2008) -- debian lenny/sid # # 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. # Director { # define myself Name = bckp001-dir DIRport = 9101 QueryFile = "/etc/bacula/scripts/query.sql" WorkingDirectory = /var/lib/bacula PidDirectory = "/var/run/bacula" Maximum Concurrent Jobs = 1 Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3L" # Console password Messages = Daemon DirAddress = Adresse IP } JobDefs { Name = "DefaultJob" Type = Backup Level = Incremental Client = bckp001-fd FileSet = "Full Set" Schedule = "WeeklyCycle" Storage = File Messages = Standard Pool = Default Full Backup Pool = Full-Pool Incremental Backup Pool = Inc-Pool Differential Backup Pool = Diff-Pool Priority = 10 } # # Define the main nightly save backup job # By default, this job will back up to disk in Job { Name = Client1 JobDefs = DefaultJob Write Bootstrap = "/var/lib/bacula/Client1.bsr" Type = Backup Level = Incremental FileSet = "Full Set" Storage = File Pool = Default Messages = Standard } #Job { # Name = "Client2" # Client = bckp0012-fd # JobDefs = "DefaultJob" # Write Bootstrap = "/var/lib/bacula/Client2.bsr" #} # 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 # WARNING! # Ubuntu uses make_catalog_backup_awk script for # security reasons # Replace <CatalogName> with the real Catalog name RunBeforeJob = "/usr/bin/awk -f /etc/bacula/scripts/make_catalog_backup_awk -v cat1=MyCatalog /etc/bacula/bacula-dir.conf" # This deletes the copy of the catalog RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup" Write Bootstrap = "/var/lib/bacula/BackupCatalog.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=bckp001-fd FileSet="Full Set" Storage = File Pool = Default Messages = Standard Where = /bacula-restores } # 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 partitons such as /usr or /home # you will probably want to add them too. # # By default this is defined to point to the Bacula build # directory to give a reasonable FileSet to backup to # disk storage during initial testing. # File = /build/buildd/bacula-2.2.8/debian/tmp-build-sqlite } # # If you backup the root directory, the following two excluded # files can be useful # Exclude { File = /proc File = /tmp 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 = bckp001-fd Address = bckp001 FDPort = 9102 Catalog = MyCatalog Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cg" # password for FileDaemon File Retention = 30 days # 30 days Job Retention = 6 months # six months AutoPrune = yes # Prune expired Jobs/Files } # # Second Client (File Services) to backup # You should change Name, Address, and Password before using # #Client { # Name = bckp0012-fd # Address = bckp0012 # FDPort = 9102 # Catalog = MyCatalog # Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cg2" # password for FileDaemon 2 # File Retention = 30 days # 30 days # Job Retention = 6 months # six months # AutoPrune = yes # Prune expired Jobs/Files #} # Definition of file storage device Storage { Name = File # Do not use "localhost" here Address = 127.0.0.1 SDPort = 9103 Password = Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj Device = FileStorage Media Type = File } # Definition of DDS tape storage device #Storage { # Name = DDS-4 # Do not use "localhost" here # Address = bckp001 # N.B. Use a fully qualified name here # SDPort = 9103 # Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj" # password for Storage daemon # Device = DDS-4 # must be same as Device in Storage daemon # Media Type = DDS-4 # must be same as MediaType in Storage daemon # Autochanger = yes # enable for autochanger device #} # Definition of 8mm tape storage device #Storage { # Name = "8mmDrive" # Do not use "localhost" here # Address = bckp001 # N.B. Use a fully qualified name here # SDPort = 9103 # Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj" # Device = "Exabyte 8mm" # MediaType = "8mm" #} # Definition of DVD storage device #Storage { # Name = "DVD" # Do not use "localhost" here # Address = bckp001 # N.B. Use a fully qualified name here # SDPort = 9103 # Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj" # Device = "DVD Writer" # MediaType = "DVD" #} # Generic catalog service Catalog { Name = MyCatalog dbname = bacula; DB Address = "localhost"; user = bacula; password = "mot_de_passe_mysql" } # 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/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r" mail = admin@domaine.ext = all, !skipped operator = root@localhost = 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/lib/bacula/log" = all, !skipped } # # Message delivery for daemon messages (no job). Messages { Name = Daemon mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r" mail = admin@domaine.ext = all, !skipped console = all, !skipped, !saved append = "/var/lib/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 } # Scratch pool definition Pool { Name = Scratch Pool Type = Backup } Pool { Name = Full-Pool Pool Type = Backup Recycle = yes # automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 6 months Maximum Volume Jobs = 1 Label Format = Full- # Maximum Volumes = 9 } Pool { Name = Inc-Pool Pool Type = Backup Recycle = yes # automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 20 days Maximum Volume Jobs = 6 Label Format = Inc- Maximum Volumes = 7 } Pool { Name = Diff-Pool Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 40 days Maximum Volume Jobs = 1 Label Format = Diff- Maximum Volumes = 10 } # # Restricted console used by tray-monitor to get the status of the director # Console { Name = bckp001-mon Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3L" CommandACL = status, .status } Schedule { Name = Mensuel Run = Level=Full Pool=Full-Pool 1st sat at 06:00 Run = Level=Incremental Pool=Inc-Pool mon-fri at 6:00 } FileSet { Name = Srv002 Include { File = /mnt/Vmware018/Backups/srv002 Options { signature = MD5 compression=GZIP } } } Job { Name = Backup_Srv002 Type = Backup Level = Incremental Client = bckp001-fd FileSet = Srv002 Schedule = Mensuel Storage = File Pool = Inc-Pool Messages = Standard } Client { Name = stockage-mon Password = Cv70F6pf1t6pBopT4vQOnigDrR0v3L Address = Adresse_IP FDPort = 9102 Catalog = MyCatalog File Retention = 30 days Job Retention = 6 months } FileSet { Name = "Donnees sur Stockage" Include { File = E:/ Options { signature = MD5 } } } Job { Name = Backup_Stockage Type = Backup Level = Incremental Client = stockage-mon FileSet = "Donnees sur Stockage" Schedule = Mensuel_23H00 Storage = File Pool = Inc-Pool Messages = Standard } Schedule { Name = Mensuel_23H00 Run = Level=Full Pool=Inc-Pool 1st sat at 00:00 Run = Level=Incremental Pool=Inc-Pool mon-fri at 23:00 } bacula-fd.conf# Default Bacula File Daemon Configuration file # # For Bacula release 2.2.8 (26 January 2008) -- debian lenny/sid # # There is not much to change here except perhaps the # File daemon Name to # # # List Directors who are permitted to contact this File daemon # Director { Name = bckp001-dir Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cg" } # # Restricted Director, used by tray-monitor to get the # status of the file daemon # Director { Name = bckp001-mon Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cg" Monitor = yes } # # "Global" File daemon configuration specifications # FileDaemon { # this is me Name = bckp001-fd FDport = 9102 # where we listen for the director WorkingDirectory = /var/lib/bacula Pid Directory = /var/run/bacula Maximum Concurrent Jobs = 20 FDAddress = Adresse_IP } # Send all messages except skipped files back to Director Messages { Name = Standard director = bckp001-dir = all, !skipped, !restored } bacula-sd.conf# Default Bacula Storage Daemon Configuration file # # For Bacula release 2.2.8 (26 January 2008) -- debian lenny/sid # # 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. # Storage { # definition of myself Name = bckp001-sd SDport = 9103 WorkingDirectory = /var/lib/bacula Pid Directory = "/var/run/bacula" Maximum Concurrent Jobs = 20 SDAddress = 127.0.0.1 } # # List Directors who are permitted to contact Storage daemon # Director { Name = bckp001-dir Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj" } # # Restricted Director, used by tray-monitor to get the # status of the storage daemon # Director { Name = bckp001-mon Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj" Monitor = yes } # # Devices supported by this Storage daemon # To connect, the Director's bacula-dir.conf must have the # same Name and MediaType. # Device { Name = FileStorage Media Type = File Archive Device = /home/Machines/Bacula LabelMedia = yes Random Access = yes AutomaticMount = yes RemovableMedia = no AlwaysOpen = yes } # # An autochanger device with two drives # #Autochanger { # Name = Autochanger # Device = Drive-1 # Device = Drive-2 # Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d" # Changer Device = /dev/sg0 #} #Device { # Name = Drive-1 # # Drive Index = 0 # Media Type = DLT-8000 # Archive Device = /dev/nst0 # AutomaticMount = yes; # when device opened, read it # AlwaysOpen = yes; # RemovableMedia = yes; # RandomAccess = no; # AutoChanger = yes # # # # Enable the Alert command only if you have the mtx package loaded # # Note, apparently on some systems, tapeinfo resets the SCSI controller # # thus if you turn this on, make sure it does not reset your SCSI # # controller. I have never had any problems, and smartctl does # # not seem to cause such problems. # # # Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'" # If you have smartctl, enable this, it has more info than tapeinfo # Alert Command = "sh -c 'smartctl -H -l error %c'" #} #Device { # Name = Drive-2 # # Drive Index = 1 # Media Type = DLT-8000 # Archive Device = /dev/nst1 # AutomaticMount = yes; # when device opened, read it # AlwaysOpen = yes; # RemovableMedia = yes; # RandomAccess = no; # AutoChanger = yes # # Enable the Alert command only if you have the mtx package loaded # Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'" # If you have smartctl, enable this, it has more info than tapeinfo # Alert Command = "sh -c 'smartctl -H -l error %c'" #} # # A Linux or Solaris tape drive # #Device { # Name = DDS-4 # # Media Type = DDS-4 # Archive Device = /dev/nrst0 # AutomaticMount = yes; # when device opened, read it # AlwaysOpen = yes; # RemovableMedia = yes; # RandomAccess = no; ## Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d" ## Changer Device = /dev/sg0 ## AutoChanger = yes # # Enable the Alert command only if you have the mtx package loaded ## Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'" ## If you have smartctl, enable this, it has more info than tapeinfo ## Alert Command = "sh -c 'smartctl -H -l error %c'" #} # # A FreeBSD tape drive # #Device { # Name = DDS-4 # Description = "DDS-4 for FreeBSD" # Media Type = DDS-4 # Archive Device = /dev/nsa1 # AutomaticMount = yes; # when device opened, read it # AlwaysOpen = yes # Offline On Unmount = no # Hardware End of Medium = no # BSF at EOM = yes # Backward Space Record = no # Fast Forward Space File = no # TWO EOF = yes # If you have smartctl, enable this, it has more info than tapeinfo # Alert Command = "sh -c 'smartctl -H -l error %c'" #} # # A OnStream tape drive. # You need the kernel osst driver 0.9.14 or later, and # do "mt -f /dev/nosst0 defblksize 32768" once as root. # #Device { # Name = OnStream # Description = "OnStream drive on Linux" # Media Type = OnStream # Archive Device = /dev/nrst0 # AutomaticMount = yes; # when device opened, read it # AlwaysOpen = yes # Offline On Unmount = no ## The min/max blocksizes of 32768 are *required* # Minimum Block Size = 32768 # Maximum Block Size = 32768 # If you have smartctl, enable this, it has more info than tapeinfo # Alert Command = "sh -c 'smartctl -H -l error %c'" #} # # A DVD device # #Device { # Name = "DVD Writer" # Media Type = DVD # Device Type = DVD # Archive Device = /dev/hdc # LabelMedia = yes; # lets Bacula label unlabeled media # Random Access = Yes; # AutomaticMount = yes; # when device opened, read it # RemovableMedia = yes; # AlwaysOpen = no; # MaximumPartSize = 800M; # RequiresMount = yes; # MountPoint = /mnt/cdrom; # MountCommand = "/bin/mount -t iso9660 -o ro %a %m"; # UnmountCommand = "/bin/umount %m"; # SpoolDirectory = /tmp/backup; # WritePartCommand = "/etc/bacula/dvd-handler %a write %e %v" # FreeSpaceCommand = "/etc/bacula/dvd-handler %a free" #} # # For OpenBSD OS >= 3.6 # #Device { # Name = DDS-3 # Media Type = DDS-3 # Archive Device = /dev/nrst0 # Use MTIOCGET= no # BSF at EOM = yes # TWO EOF = no # AutomaticMount = yes; # AlwaysOpen = yes; # RemovableMedia = yes; # RandomAccess = no; # If you have smartctl, enable this, it has more info than tapeinfo # Alert Command = "sh -c 'smartctl -H -l error %c'" #} # # A very old Exabyte with no end of media detection # #Device { # Name = "Exabyte 8mm" # Media Type = "8mm" # Archive Device = /dev/nrst0 # Hardware end of medium = No; # AutomaticMount = yes; # when device opened, read it # AlwaysOpen = Yes; # RemovableMedia = yes; # RandomAccess = no; # If you have smartctl, enable this, it has more info than tapeinfo # Alert Command = "sh -c 'smartctl -H -l error %c'" #} # # Send all messages to the Director, # mount messages also are sent to the email address # Messages { Name = Standard director = bckp001-dir = all } Bacula-fd pour Vmware ESXiFileset pour un client WindowsFileSet { Name = "Windows Set" Include { Options { wild = *.obj wild = *.exe exclude = yes } File = "c:/My Documents" } } Installation du client sur une station Windowsbacula-fd.conf d'un client# Default Bacula File Daemon Configuration file # # For Bacula release 2.2.8 (26 January 2008) -- debian lenny/sid # # There is not much to change here except perhaps the # File daemon Name to # # # List Directors who are permitted to contact this File daemon # Director { Name = Nom_du_serveur_Bacula Password = "Mot de passe" } # # Restricted Director, used by tray-monitor to get the # status of the file daemon # Director { Name = Nom_du_monitor_Bacula Password = "Mot de pase" Monitor = yes } # # "Global" File daemon configuration specifications # FileDaemon { # this is me Name = vmware020-fd FDport = 9102 # where we listen for the director WorkingDirectory = /var/lib/bacula Pid Directory = /var/run/bacula Maximum Concurrent Jobs = 20 } # Send all messages except skipped files back to Director Messages { Name = Standard director = vmware020-dir = all, !skipped, !restored } Installer Bacula-webIntroductionCette interface full-web permet un reporting des sauvegardes Installationapt-get install apache2 php5 gettext php5-gd php-db php5-mysql Télechargez http://sourceforge.net/projects/bacu...guy-xxx.tar.gz Décompressez le et déplacez le dossier bacula-web sur le serveur. Editez le fichier bacula.conf pour le connecter au serveur mysql Dans le fichier /etc/php5/apache2/php.ini pensez à activer les extensions : extension=mysql.so extension=gd.so Redémarrez le serveur web. /etc/init.d/apache2 restart Installer Bacula-bwebBacula rescue cdExemple de configuration d'un Pool de sauvegarde BaculaNom : Pool_Imprimantes Type : Backup Nombre de jobs maxi par fichier de sauvegarde : 1 (Recrée un nouveau fichier à chaque sauvegarde) Historique de sauvegardes : 14 jours Recycle = yes : Il supprime les fichiers antérieurs à 14 jours. AutoPrune = Yes : Il nettoie la base de donnée pour supprimer les sauvegardes antérieures à 14 jours. Label Format : Permet un label automatique avec un nom prédéfini (ici, Imprimantes-XXXX) Pool { Name = Pool_Imprimantes Pool Type = Backup Maximum Volume Jobs = 1 Volume Retention = 14 days Recycle = yes AutoPrune = yes Label Format = Imprimantes- } Lecteurs de bandesRestaurationCommandes :bacula-console restore
|