On 10/10/21 12:38 PM, Eric Eychenne wrote:
> Hi,
>
>
> I am going to discover bacula.
> I think tu buy a NAS to make backups. Butis Bacula need tape drive
> only or could it backup and restore from file, no needing tape drive ?
> Thanks for help and how to configure .
You absolutely do not need a tape drive to use Bacula. You can use
cloud storage; you can use disk; you can use removable disk. I
currently do my backups disk-to-disk-to-removable-disk — backups go to a
20TB disk pool on my NAS, then FULL backups get copied (using Copy jobs)
to a 3TB removable disk pool for which I have four sets of disks that I
use in rotation. So at any given time I have all of my full,
differential and incremental backups online for instant disk-to-disk
restore, and no less than three FULL backup sets stored offline and
airgapped.
There's many ways you CAN configure disk-to-disk backup. But the way I
do it, and the way I recommend doing it as long as you are backing up
only one "customer", is to use a single new Volume for all of each
night's backups, using each one for only 23 hours, then create a new
volume for the next day, with expired volumes being deleted and erased.
The relevant parts of a configuration to do that might look like this
example:
Pool {
Name = Scratch
Pool Type = Backup
}
Pool {
Name = Full-Disk
Storage = asgard-file
Next Pool = Full-Archive
Pool Type = Backup
Recycle = no
Recycle Oldest Volume = no
Recycle Current Volume = no
AutoPrune = yes # Prune expired volumes
Volume Retention = 6 months
File Retention = 6 months
Maximum Volume Jobs = 0
Volume Use Duration = 23h
Label Format =
"FULL-$Year${Month:p/2/0/r}${Day:p/2/0/r}-${Hour:p/2/0/r}:${Minute:p/2/0/r}"
RecyclePool = Scratch
}
Pool {
Name = Diff-Disk
Storage = asgard-file
Pool Type = Backup
Recycle = no
Recycle Oldest Volume = no
Recycle Current Volume = no
AutoPrune = yes
Volume Retention = 2 months
File Retention = 2 months
Maximum Volume Jobs = 0
Volume Use Duration = 23h
Label Format =
"DIFF-$Year${Month:p/2/0/r}${Day:p/2/0/r}-${Hour:p/2/0/r}:${Minute:p/2/0/r}"
RecyclePool = Scratch
}
Pool {
Name = Incr-Disk
Storage = asgard-file
Pool Type = Backup
Recycle = no
Recycle Oldest Volume = no
Recycle Current Volume = no
AutoPrune = yes
Volume Retention = 1 month
File Retention = 1 month
Maximum Volume Jobs = 0
Volume Use Duration = 23h
Label Format =
"INCR-$Year${Month:p/2/0/r}${Day:p/2/0/r}-${Hour:p/2/0/r}:${Minute:p/2/0/r}"
RecyclePool = Scratch
}
Schedule {
Name = "Monthly Rotation"
Run = Full 1st mon at 04:30
Run = Differential 2nd-5th mon at 04:30
Run = Incremental tue-sun at 04:30
}
JobDefs {
Name = Backup
Type = Backup
Level = Full
Storage = asgard-file
Pool = Full-Disk
Full Backup Pool = Full-Disk
Differential Backup Pool = Diff-Disk
Incremental Backup Pool = Incr-Disk
Schedule = "Monthly Rotation"
RunBeforeJob = "/etc/bacula/checkhost %c"
Write Bootstrap = "/var/lib/bacula/%c.bsr"
Rerun Failed Levels = yes
Messages = Daemon
Priority = 10
SpoolAttributes = no
SpoolData = no
Allow Duplicate Jobs = no
Cancel Queued Duplicates = yes
Accurate = no
}
Job {
Name = "Asgard Backup"
JobDefs = Backup
Client = asgard
FileSet = "Asgard Full Set"
Enabled = Yes
}
Job {
Name = "Netstore Backup"
JobDefs = Backup
Client = asgard
FileSet = "Netstore Backup Set"
Enabled = Yes
}
Job {...}
Checkhost is an external script that pings a backup host to verify that
it is online, and then if online, verifies that it can connect to the
client's bacula-fd port. I have another external script that cleans up
the expired volumes.
--
Phil Stracchino
Babylon Communications
ph...@caerllewys.net
p...@co.ordinate.org
Landline: +1.603.293.8485
Mobile: +1.603.998.6958
___
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users