Skip to content
This repository has been archived by the owner on Mar 19, 2021. It is now read-only.

Commit

Permalink
Added secure-erase test
Browse files Browse the repository at this point in the history
  • Loading branch information
pstorz committed Sep 10, 2015
1 parent 4d95cab commit d777c92
Show file tree
Hide file tree
Showing 9 changed files with 739 additions and 0 deletions.
1 change: 1 addition & 0 deletions DartTestfile.txt.in
@@ -1,3 +1,4 @@
ADD_TEST(disk:secure-erase-test "@regressdir@/tests/secure-erase-test")
ADD_TEST(disk:migrate-sd-sd-test "@regressdir@/tests/migration-volume-sd-sd-test")
ADD_TEST(disk:acl-xattr-test "@regressdir@/tests/acl-xattr-test")
ADD_TEST(disk:action-on-purge-test "@regressdir@/tests/action-on-purge-test")
Expand Down
346 changes: 346 additions & 0 deletions configs/secure-erase-test/bareos-dir.conf.in
@@ -0,0 +1,346 @@
#
# Default Bareos Director configuration file for disk-only backup
#
# For Bareos release @VERSION@ (@DATE@) -- @DISTNAME@ @DISTVER@
#
# Each configuration item has a reference number that shows
# where this property can be changed in the configuration file.
# Search for the number to find the correct line.
#
# You have to configure the following accoring to your environment:
#
# (#01)Email Address for bareos disaster recovery.
# Specify a mailaddress outside of your backupserver.
# There will be one mail per day.
#
# (#02)Email Address for bareos reports. (Mail Command)
# This mail address will recieve a report about each backup job.
# It will be sent after the backupjob is complete.
# Has to be configured twice ("Standard" and "Daemon" Message Ressources)
#
# (#03)Email Address for bareos operator. (Operator Command)
# This mail address will recieve a mail immediately when the
# bareos system needs an operator intervention.
# May be the same address as in (#02)
#
#
# This disk-only setup stores all data into @tmpdir@
#
# The preconfigured backup scheme is as follows:
#
# Full Backups are done on first Saturday at 21:00 (#04)
# Full Backups are written into the "Full" Pool (#05)
# Full Backups are kept for 365 Days (#06)
#
# Differential Backups are done on 2nd to 5th Saturday at 21:00 (#07)
# Differential Backups are written into the "Differential" Pool (#08)
# Differential Backups are kept for 90 Days (#09)
#
# Incremental Backups are done monday to friday at 21:00 (#10)
# Incremental Backups are written into the "Incremental" Pool (#11)
# Incremental Backups are kept for 30 Days (#12)
#
# What you also have to do is to change the default fileset (#13)
# to either one of the demo filesets given or create our own fileset.
#
#
#
# For Bareos release @VERSION@ (@DATE@) -- @DISTNAME@ @DISTVER@
#
#
Director { # define myself
Name = @hostname@-dir
QueryFile = "@scriptdir@/query.sql"
Maximum Concurrent Jobs = 10
Password = "@dir_password@" # Console password
Messages = Daemon
Auditing = yes
Secure Erase Command = "@scriptdir@/wipe.sh"
# Enable the Heartbeat if you experience connection losses
# (eg. because of your router or firewall configuration).
# Additionally the Heartbeat can be enabled in bareos-sd and bareos-fd.
#
# Heartbeat Interval = 1m

# remove comment in next line to load dynamic backends from specified directory
# Backend Directory = @backenddir@

# remove comment from "Plugin Directory" to load plugins from specified directory.
# if "Plugin Names" is defined, only the specified plugins will be loaded,
# otherwise all director plugins (*-dir.so) from the "Plugin Directory".
#
# Plugin Directory = @plugindir@
# Plugin Names = ""
}

JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Incremental
Client = @hostname@-fd
FileSet = "SelfTest" # selftest fileset (#13)
Schedule = "WeeklyCycle"
Storage = File
Messages = Standard
Pool = Incremental
Priority = 10
Write Bootstrap = "@working_dir@/%c.bsr"
Full Backup Pool = Full # write Full Backups into "Full" Pool (#05)
Differential Backup Pool = Differential # write Diff Backups into "Differential" Pool (#08)
Incremental Backup Pool = Incremental # write Incr Backups into "Incremental" Pool (#11)
Spool Data = yes
}

#
# Define the main nightly save backup job
# By default, this job will back up to disk in @tmpdir@
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 = "@scriptdir@/make_catalog_backup.pl MyCatalog"

# This deletes the copy of the catalog
RunAfterJob = "@scriptdir@/delete_catalog_backup"

# This sends the bootstrap via mail for disaster recovery.
# Should be sent to another system, please change recipient accordingly
Write Bootstrap = "|@bindir@/bsmtp -h @smtp_host@ -f \"\(Bareos\) \" -s \"Bootstrap for Job %j\" @job_email@" # (#01)
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=@hostname@-fd
FileSet = "Linux All"
Storage = File
Pool = Incremental
Messages = Standard
Where = /tmp/bareos-restores
}


FileSet {
Name = "Windows All Drives"
Enable VSS = yes
Include {
Options {
Signature = MD5
Drive Type = fixed
IgnoreCase = yes
WildFile = "[A-Z]:/pagefile.sys"
WildDir = "[A-Z]:/RECYCLER"
WildDir = "[A-Z]:/$RECYCLE.BIN"
WildDir = "[A-Z]:/System Volume Information"
Exclude = yes
}
File = /
}
}


FileSet {
Name = "Linux All"
Include {
Options {
Signature = MD5 # calculate md5 checksum per file
One FS = No # change into other filessytems
FS Type = ext2 # filesystems of given types will be backed up
FS Type = ext3 # others will be ignored
FS Type = ext4
FS Type = xfs
FS Type = zfs
FS Type = reiserfs
FS Type = jfs
FS Type = btrfs
}
File = /
}
# Things that usually have to be excluded
# You have to exclude @tmpdir@
# on your bareos server
Exclude {
File = @working_dir@
File = @tmpdir@
File = /proc
File = /tmp
File = /.journal
File = /.fsck
}

}

# fileset just to backup some files for selftest
FileSet {
Name = "SelfTest"
Include {
Options {
Signature = MD5 # calculate md5 checksum per file
}
#File = "@BUILD_DIR@/src/dird"
File = "@sbindir@"
}
}

Schedule {
Name = "WeeklyCycle"
Run = Full 1st sat at 21:00 # (#04)
Run = Differential 2nd-5th sat at 21:00 # (#07)
Run = Incremental mon-fri at 21:00 # (#10)
}

# This schedule does the catalog. It starts after the WeeklyCycle
Schedule {
Name = "WeeklyCycleAfterBackup"
Run = Full mon-fri at 21:10
}

# This is the backup of the catalog
FileSet {
Name = "Catalog"
Include {
Options {
signature = MD5
}
File = "@working_dir@/@db_name@.sql" # database dump
File = "@confdir@" # configuration
}
}

# Client (File Services) to backup
Client {
Name = @hostname@-fd
Address = @hostname@
Password = "@fd_password@" # password for FileDaemon
}

#
# Definition of file storage device
#
Storage {
Name = File
# Do not use "localhost" here
Address = @hostname@ # N.B. Use a fully qualified name here
Password = "@sd_password@"
Device = FileStorage
Media Type = File
}

#
# Generic catalog service
#
Catalog {
Name = MyCatalog
# Uncomment the following lines if you want the dbi driver
#@uncomment_dbi@ dbdriver = "dbi:@DEFAULT_DB_TYPE@"; dbaddress = 127.0.0.1; dbport = @db_port@
#dbdriver = "@DEFAULT_DB_TYPE@"
dbdriver = "@db_engine@"
dbname = "@db_name@"
dbuser = "@db_user@"
dbpassword = "@db_password@"
}

#
# Reasonable message delivery -- send most everything to email address and to the console
#
Messages {
Name = Standard
mailcommand = "@bindir@/bsmtp -h @smtp_host@ -f \"\(Bareos\) \<%r\>\" -s \"Bareos: %t %e of %c %l\" %r"
operatorcommand = "@bindir@/bsmtp -h @smtp_host@ -f \"\(Bareos\) \<%r\>\" -s \"Bareos: Intervention needed for %j\" %r"
mail = @job_email@ = all, !skipped, !audit # (#02)
operator = @job_email@ = mount # (#03)
console = all, !skipped, !saved, !audit
append = "@logdir@/bareos.log" = all, !skipped, !audit
catalog = all, !audit
}

#
# Message delivery for daemon messages (no job).
#
Messages {
Name = Daemon
mailcommand = "@bindir@/bsmtp -h @smtp_host@ -f \"\(Bareos\) \<%r\>\" -s \"Bareos daemon message\" %r"
mail = @job_email@ = all, !skipped, !audit # (#02)
console = all, !skipped, !saved, !audit
append = "@logdir@/bareos.log" = all, !skipped, !audit
append = "@logdir@/bareos-audit.log" = audit
}

#
# Full Pool definition
#
Pool {
Name = Full
Pool Type = Backup
Recycle = yes # Bareos can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # How long should the Full Backups be kept? (#06)
Maximum Volume Bytes = 50G # Limit Volume size to something reasonable
Maximum Volumes = 100 # Limit number of Volumes in Pool
Label Format = "Full-" # Volumes will be labeled "Full-<volume-id>"
}

#
# Differential Pool definition
#
Pool {
Name = Differential
Pool Type = Backup
Recycle = yes # Bareos can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 90 days # How long should the Differential Backups be kept? (#09)
Maximum Volume Bytes = 10G # Limit Volume size to something reasonable
Maximum Volumes = 100 # Limit number of Volumes in Pool
Label Format = "Differential-" # Volumes will be labeled "Differential-<volume-id>"
}

#
# Incremental Pool definition
#
Pool {
Name = Incremental
Pool Type = Backup
Recycle = yes # Bareos can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 30 days # How long should the Incremental Backups be kept? (#12)
Maximum Volume Bytes = 1G # Limit Volume size to something reasonable
Maximum Volumes = 100 # Limit number of Volumes in Pool
Label Format = "Incremental-" # Volumes will be labeled "Incremental-<volume-id>"
}

#
# Scratch pool definition
#
Pool {
Name = Scratch
Pool Type = Backup
}

#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
Name = @hostname@-mon
Password = "@mon_dir_password@"
CommandACL = status, .status
JobACL = *all*
}

0 comments on commit d777c92

Please sign in to comment.