Restore

Restore Procedure

Bacula Enterprise Amazon RDS Plugin offers four distinct restore modes:

  1. Generate a new instance from a given snapshot (from the backup or from an arbitrary snapshot identifier).

  2. Generate a new instance with a specific state using Point-In-Time Recovery.

  3. Restore metadata or Apache Parquet exported data locally to the filesystem for subsequent processing.

  4. Restore Apache Parquet information into a running MySQL or PostgreSQL database.

Depending on the desired result, the restore operation should be parametrized differently.

Restore Parameters

Amazon RDS Plugin is able to perform a raw restore to any local filesystem mounted over the host where the File Daemon operates, or directly to the Amazon RDS environment. The restore method is selected determined by the value of the where parameter at restore time:

  • Empty or ‘/’ (example: where=/) -> Amazon RDS restore will be triggered

  • Any other path for where (example: where=/tmp) -> Raw restore to the local file system will be triggered.

This principle generally applies to other Bacula plugins as well. Nevertheless, in this specific plugin, it is advised against using the raw restore method by the File Daemon. This recommendation stems from the fact that the raw restore method retains the headers generated during the backup process in the volume disk files. If the intention is to restore the filesystem, one can trigger an Amazon RDS restore using the where=/ parameter. It is important to also use the restore variable to_local_path and specify the desired destination. By doing so, the mentioned headers will be automatically removed, resulting in a disk image that is appropriate for any future purposes.

When using the Amazon RDS restore method, the following parameters are available to control the restore behavior within the “Plugin Options” menu during a BConsole restore session:

Option

Required

Default

Values

Example

Description

instance_identifier

No

Generated from Restore job name

String for the new instance or cluster that will be generated with the restore. Only a-zA-Z or ‘-’ characters are allowed

MyRestoredInstance

Set the identifier for a new restored database instance or cluster. If none is provided and the restore operation needs to create a new instance or cluster, the name will be generated from the restore job

from_snapshot_id

No

Existing snapshot identifier in RDS service

my-snap-2024-05-16-12-30

Set a snapshot identifier, existing in AWS to restore an instance or cluster directly from it. If not specified, the identifier will be get from the backup information

instance_class

No

Original backup value

Accepted instance type in Amazon RDS. Defined in: https://aws.amazon.com/rds/instance-types/

c7g.medium

Set database instance class

availability_zone

No

Original backup value

String: availability zone existing in: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html

us-east-1a

Set the destination availability zone for the instance(s) and its/their volume(s)

parameter_groups

No

Original backup value

String: Name of the parameter group

mygroup

Set the name(s) of the parameter groups that will be applied to the restored database instance (separated by ‘,’)

vpc_security_groups_ids

No

Original backup value

String: Name of the security group id

sg-03237oe4493e8ecd1

Set the id(s) of the VPC Security Groups that will be applied to the restored database instance (separated by ‘,’)

tags

No

List of key value strings: key1=value1, key2=value2

Set tags to the restored instance(s) (tag1key:tag1value,tag2key:tag2value…)

multi_az

No

Original backup value

0, no, No, false, FALSE, false, off ; 1, yes, Yes, TRUE, true, on

yes

Configure the restored database instance as Multi AZ

db_port

No

Original backup value

Integer

2140

Set the database port

storage_type

No

Original backup value

Accepted volume type in Amazon EBS. Defined in: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html

Set the instance storage type

storage_throughput

No

Original backup value

Positive integer

Set the instance storage throughput

iops

No

Original backup value

Positive integer

Iops value for instance storage

pitr_from_instance_id

No

Original backup instances

String representing an RDS existing instance

Set the instance identifier that will reference the instance to be used to proceed with a Point In Time Recovery restore

pitr_date

No

String representing a date with the format: yyyy-MM-dd HH:mm:ss

Sets the date for Point in Time Recovery restore

pitr_latest

No

No

0, no, No, false, FALSE, false, off ; 1, yes, Yes, TRUE, true, on

yes

Run a Point in Time Recovery restore using the latest date available

parquet_db_socket

No

Common default for each engine

Path in the system to use a socket connection

/var/path/myfile.socket

Set the socket path to use a socket based connection to restore parquet data from the backup directly into a database

parquet_db_engine

No

postgresql

mysql, postgresql

Set the engine (postgresql or mysql) to restore parquet data from the backup directly into a database

parquet_db_host

No

String representing a hostname or ip address

mysql

Set the host to connect and restore parquet data from the backup directly into a database

parquet_db_name

No

String representing a database name

customers

Set the database name to connect and restore parquet data from the backup directly into a database

parquet_db_port

No

Positive integer

3000

Set the database port to connect and restore parquet data from the backup directly into a database

parquet_db_user

No

String representing a database username

john

Set the database user to connect and restore parquet data from the backup directly into a database

parquet_db_password

No

String rerpresenting a database password

myPass123!

Set the database password to connect and restore parquet data from the backup directly into a database

parquet_save_mode

No

Append

Append, Overwrite, ErrorIfExists or Ignore

Overwrite

Set the restore mode for a parquet restore: Append, Overwrite, ErrorIfExists or Ignore

access_key

No

Original backup value

String

AKIAIOSFODNN7EXAMPLE

Set a different access key to access to the destination

secret_key

No

Original backup value

String

wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Set a different secret key to access to the destination

region

No

Original backup value

String: region code existing in: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html

us-east-2

Set the destination region

debug

No

0

0, 1, 2 ,3, 4, 5, 6, 7, 8, 9

8

Change debug level

Restore Use Cases

The following restore scenarios are supported, and steps to execute them are described:

  1. Generate a new instance or cluster from a the snapshot that was taken during the selected backup

    1. Run a restore session selecting appropriate backup jobs

    2. Select all the contents of the backup

    3. Use Where=/

  2. Generate a new instance or cluster from an arbitrary snapshot that is existing in Amazon RDS, and configure a specific new instance id:

    • Follow previously described ‘a’ scenario.

    • Set instance_identifier with the value of the desired new name

    • Set from_snapshot_id with the value of the desired previous snapshots

  3. Restore an instance in Point-In-Time Recovery mode:

  • Follow previously described ‘a’ scenario

  • Before confirming the restore operation, set pitr_from_instance_id with the desired instance or cluster to use, or let the restore used the instance from the backup job selected

  • You may want to run a .query command (parameter=instance) to check the last available restore time for your instance

  • Set pitr_date with the desired value, or set pitr_latest to yes.

  1. Restore an instance to Amazon RDS, but adjust any configuration parameter of it (advanced):

  • Follow previously described ‘a’, ‘b’ or ‘c’ scenarios.

  • Adjust any desired parameter from the following list: instance_class, availability_zone, parameter_groups, vpc_security_groups_ids, tags, multi_az, db_port, storage_type, storage_throughput, iops

  • Note that the configuration you set here will be applied as entered. Therefore, the consistency of that configuration will depend on all elements being correct (existing and consistent) at Amazon RDS side for your particular infrastructure

  1. Restore an instance to Amazon RDS, but to a different location:

  • Follow previously described ‘a’, ‘b’, ‘c’ or ‘d’ scenarios.

  • Adjust region, access_key, secret_key with the destination values

  1. Restore instance Apache Parquet files to a running database in the File Daemon host:

  • Follow previously described ‘a’ scenario.

  • Adjust database connection with ‘parquet_xxx’ parameters

  • By default, if no host is established, a socket connection will be attempted. If a host is specified, the connection will use TCP/IP

  • Pay attention to the parquet_save_mode, which will allow you to control how the restore should behave in terms of finding previous values in your database

  1. Restore instance files or volume files to a local directory:

    1. Run a restore session selecting appropriate backup jobs

    2. Select the desired files (or all of them) inside a given i-xxxxxxx/ folder

    3. Use Where=/

    4. Adjust to_local_path to the desired path

Restore Example Session

Note

It is also possible to run backup or restore operations from any of the Bacula Graphical User Interfaces.

Restore bconsole session
restore jobid=1 Client=127.0.0.1-fd where="/"
Using Catalog "MyCatalog"
You have selected the following JobId: 1

Building directory tree for JobId(s) 1 ...
41 files inserted into the tree.

You are now entering file selection mode where you add (mark) and
remove (unmark) files to be restored. No files are initially added, unless
you used the "all" keyword on the command line.
Enter "done" to leave this mode.

cwd is: /
$ cd "/@amazon_rds/"
Invalid path given.
cwd is: /
$ dir
----------   0 root     root               0  1970-01-01 01:00:00  /@amazon-rds/
$ estimate
41 total files; 0 marked to be restored; 0 bytes.
$ mark *
41 files marked.
$ done
Bootstrap records written to /tmp/regress/working/127.0.0.1-dir.restore.3.bsr

The Job will require the following (*=>InChanger):
   Volume(s)                 Storage(s)                SD Device(s)
===========================================================================

   TEST-2024-06-06:0         File                      FileStorage

Volumes marked with "*" are in the Autochanger.


41 files selected to be restored.

Using Catalog "MyCatalog"
Run Restore job
JobName:         RestoreFiles
Bootstrap:       /tmp/regress/working/127.0.0.1-dir.restore.3.bsr
Where:           /
Replace:         Always
FileSet:         Full Set
Backup Client:   127.0.0.1-fd
Restore Client:  127.0.0.1-fd
Storage:         File
When:            2024-06-06 14:39:13
Catalog:         MyCatalog
Priority:        10
Plugin Options:  *None*
OK to run? (Yes/mod/no): mod
Parameters to modify:
   1: Level
   2: Storage
   3: Job
   4: FileSet
   5: Restore Client
   6: When
   7: Priority
   8: Bootstrap
   9: Where
   10: File Relocation
   11: Replace
   12: JobId
   13: Plugin Options
Select parameter to modify (1-13): 13
Automatically selected : amazon-rds: region="us-east-1" access_key="AKIAQVXBC4DM4VRBK4XL" secret_key="hqvQac/ZikF6+E9AGDOwGjWPMyrz0K6zAC1eQ9KL" instances="jg-pg-aws" start_instances=yes snapshots_retention=2 export_bucket=j-bacula-rds export_role=arn:aws:iam::046642946265:role/service-role/rds-export-role export_key=73ed9600-749e-47b5-93f0-6761f0ac9734 export_delete=yes debug=6
Plugin Restore Options
Option                         Current Value        Default Value
instance_identifier:           *None*               (*none*)
from_snapshot_id:              *None*               (*none*)
instance_class:                *None*               (*none*)
availability_zone:             *None*               (*none*)
parameter_groups:              *None*               (*none*)
vpc_security_groups_ids:       *None*               (*none*)
tags:                          *None*               (*none*)
multi_az:                      *None*               (*none*)
db_port:                       *None*               (*none*)
storage_type:                  *None*               (*none*)
storage_throughput:            *None*               (*none*)
iops:                          *None*               (*none*)
pitr_from_instance_id:         *None*               (*none*)
pitr_date:                     *None*               (*none*)
pitr_latest:                   *None*               (*none*)
parquet_db_socket:             *None*               (*none*)
parquet_db_engine:             *None*               (*none*)
parquet_db_host:               *None*               (*none*)
parquet_db_name:               *None*               (*none*)
parquet_db_port:               *None*               (*none*)
parquet_db_user:               *None*               (*none*)
parquet_db_password:           *None*               (*none*)
parquet_save_mode:             *None*               (*none*)
access_key:                    *None*               (*none*)
secret_key:                    *None*               (*none*)
region:                        *None*               (*none*)
debug:                         *None*               (*none*)
Use above plugin configuration? (Yes/mod/no): mod
You have the following choices:
   1: instance_identifier (Set the identifier for a new restored database instance or cluster)
   2: from_snapshot_id (Set a snapshot identifier, exisiting in AWS to restore an instance or cluster directly from it)
   3: instance_class (Set database instance class)
   4: availability_zone (Set the destination availability zone for the instance(s) and its/their volume(s))
   5: parameter_groups (Set the name(s) of the parameter groups that will be applied to the restored database instance (separated by ','))
   6: vpc_security_groups_ids (Set the id(s) of the VPC Security Groups that will be applied to the restored database instance (separated by ','))
   7: tags (Set tags to the restored instance(s) (tag1key:tag1value,tag2key:tag2value...))
   8: multi_az (Configure the restored database instance as Multi AZ)
   9: db_port (Set the database port)
   10: storage_type (Set the instance storage type)
   11: storage_throughput (Set the instance storage throughput)
   12: iops (Iops value for instance storage)
   13: pitr_from_instance_id (Set the instance identifier that will reference the instance to be used to proceed with a Point In Time Recovery restore)
   14: pitr_date (Sets the date for Point in Time Recovery restore)
   15: pitr_latest (Run a Point in Time Recovery restore using the latest date available)
   16: parquet_db_socket (Set the socket path to use a socket based connection to restore parquet data from the backup directly into a database)
   17: parquet_db_engine (Set the engine (postgresql or mysql) to restore parquet data from the backup directly into a database)
   18: parquet_db_host (Set the host to connect and restore parquet data from the backup directly into a database)
   19: parquet_db_name (Set the database name to connect and restore parquet data from the backup directly into a database)
   20: parquet_db_port (Set the database port to connect and restore parquet data from the backup directly into a database)
   21: parquet_db_user (Set the database user to connect and restore parquet data from the backup directly into a database)
   22: parquet_db_password (Set the database password to connect and restore parquet data from the backup directly into a database)
   23: parquet_save_mode (Set the restore mode for a parquet restore: Append, Overwrite, ErrorIfExists or Ignore)
   24: access_key (Set a different access key to access to the destination)
   25: secret_key (Set a different secret key to access to the destination)
   26: region (Set the destination region)
   27: debug (Change debug level)
Select parameter to modify (1-27): 17
Please enter a value for parquet_db_engine: mysql
Plugin Restore Options
Option                         Current Value        Default Value
instance_identifier:           *None*               (*none*)
from_snapshot_id:              *None*               (*none*)
instance_class:                *None*               (*none*)
availability_zone:             *None*               (*none*)
parameter_groups:              *None*               (*none*)
vpc_security_groups_ids:       *None*               (*none*)
tags:                          *None*               (*none*)
multi_az:                      *None*               (*none*)
db_port:                       *None*               (*none*)
storage_type:                  *None*               (*none*)
storage_throughput:            *None*               (*none*)
iops:                          *None*               (*none*)
pitr_from_instance_id:         *None*               (*none*)
pitr_date:                     *None*               (*none*)
pitr_latest:                   *None*               (*none*)
parquet_db_socket:             *None*               (*none*)
parquet_db_engine:             mysql                (*none*)
parquet_db_host:               *None*               (*none*)
parquet_db_name:               *None*               (*none*)
parquet_db_port:               *None*               (*none*)
parquet_db_user:               *None*               (*none*)
parquet_db_password:           *None*               (*none*)
parquet_save_mode:             *None*               (*none*)
access_key:                    *None*               (*none*)
secret_key:                    *None*               (*none*)
region:                        *None*               (*none*)
debug:                         *None*               (*none*)
Use above plugin configuration? (Yes/mod/no): mod
You have the following choices:
   1: instance_identifier (Set the identifier for a new restored database instance or cluster)
   2: from_snapshot_id (Set a snapshot identifier, exisiting in AWS to restore an instance or cluster directly from it)
   3: instance_class (Set database instance class)
   4: availability_zone (Set the destination availability zone for the instance(s) and its/their volume(s))
   5: parameter_groups (Set the name(s) of the parameter groups that will be applied to the restored database instance (separated by ','))
   6: vpc_security_groups_ids (Set the id(s) of the VPC Security Groups that will be applied to the restored database instance (separated by ','))
   7: tags (Set tags to the restored instance(s) (tag1key:tag1value,tag2key:tag2value...))
   8: multi_az (Configure the restored database instance as Multi AZ)
   9: db_port (Set the database port)
   10: storage_type (Set the instance storage type)
   11: storage_throughput (Set the instance storage throughput)
   12: iops (Iops value for instance storage)
   13: pitr_from_instance_id (Set the instance identifier that will reference the instance to be used to proceed with a Point In Time Recovery restore)
   14: pitr_date (Sets the date for Point in Time Recovery restore)
   15: pitr_latest (Run a Point in Time Recovery restore using the latest date available)
   16: parquet_db_socket (Set the socket path to use a socket based connection to restore parquet data from the backup directly into a database)
   17: parquet_db_engine (Set the engine (postgresql or mysql) to restore parquet data from the backup directly into a database)
   18: parquet_db_host (Set the host to connect and restore parquet data from the backup directly into a database)
   19: parquet_db_name (Set the database name to connect and restore parquet data from the backup directly into a database)
   20: parquet_db_port (Set the database port to connect and restore parquet data from the backup directly into a database)
   21: parquet_db_user (Set the database user to connect and restore parquet data from the backup directly into a database)
   22: parquet_db_password (Set the database password to connect and restore parquet data from the backup directly into a database)
   23: parquet_save_mode (Set the restore mode for a parquet restore: Append, Overwrite, ErrorIfExists or Ignore)
   24: access_key (Set a different access key to access to the destination)
   25: secret_key (Set a different secret key to access to the destination)
   26: region (Set the destination region)
   27: debug (Change debug level)
Select parameter to modify (1-27): 19
Please enter a value for parquet_db_name: test
Plugin Restore Options
Option                         Current Value        Default Value
instance_identifier:           *None*               (*none*)
from_snapshot_id:              *None*               (*none*)
instance_class:                *None*               (*none*)
availability_zone:             *None*               (*none*)
parameter_groups:              *None*               (*none*)
vpc_security_groups_ids:       *None*               (*none*)
tags:                          *None*               (*none*)
multi_az:                      *None*               (*none*)
db_port:                       *None*               (*none*)
storage_type:                  *None*               (*none*)
storage_throughput:            *None*               (*none*)
iops:                          *None*               (*none*)
pitr_from_instance_id:         *None*               (*none*)
pitr_date:                     *None*               (*none*)
pitr_latest:                   *None*               (*none*)
parquet_db_socket:             *None*               (*none*)
parquet_db_engine:             mysql                (*none*)
parquet_db_host:               *None*               (*none*)
parquet_db_name:               test                 (*none*)
parquet_db_port:               *None*               (*none*)
parquet_db_user:               *None*               (*none*)
parquet_db_password:           *None*               (*none*)
parquet_save_mode:             *None*               (*none*)
access_key:                    *None*               (*none*)
secret_key:                    *None*               (*none*)
region:                        *None*               (*none*)
debug:                         *None*               (*none*)
Use above plugin configuration? (Yes/mod/no): mod
You have the following choices:
   1: instance_identifier (Set the identifier for a new restored database instance or cluster)
   2: from_snapshot_id (Set a snapshot identifier, exisiting in AWS to restore an instance or cluster directly from it)
   3: instance_class (Set database instance class)
   4: availability_zone (Set the destination availability zone for the instance(s) and its/their volume(s))
   5: parameter_groups (Set the name(s) of the parameter groups that will be applied to the restored database instance (separated by ','))
   6: vpc_security_groups_ids (Set the id(s) of the VPC Security Groups that will be applied to the restored database instance (separated by ','))
   7: tags (Set tags to the restored instance(s) (tag1key:tag1value,tag2key:tag2value...))
   8: multi_az (Configure the restored database instance as Multi AZ)
   9: db_port (Set the database port)
   10: storage_type (Set the instance storage type)
   11: storage_throughput (Set the instance storage throughput)
   12: iops (Iops value for instance storage)
   13: pitr_from_instance_id (Set the instance identifier that will reference the instance to be used to proceed with a Point In Time Recovery restore)
   14: pitr_date (Sets the date for Point in Time Recovery restore)
   15: pitr_latest (Run a Point in Time Recovery restore using the latest date available)
   16: parquet_db_socket (Set the socket path to use a socket based connection to restore parquet data from the backup directly into a database)
   17: parquet_db_engine (Set the engine (postgresql or mysql) to restore parquet data from the backup directly into a database)
   18: parquet_db_host (Set the host to connect and restore parquet data from the backup directly into a database)
   19: parquet_db_name (Set the database name to connect and restore parquet data from the backup directly into a database)
   20: parquet_db_port (Set the database port to connect and restore parquet data from the backup directly into a database)
   21: parquet_db_user (Set the database user to connect and restore parquet data from the backup directly into a database)
   22: parquet_db_password (Set the database password to connect and restore parquet data from the backup directly into a database)
   23: parquet_save_mode (Set the restore mode for a parquet restore: Append, Overwrite, ErrorIfExists or Ignore)
   24: access_key (Set a different access key to access to the destination)
   25: secret_key (Set a different secret key to access to the destination)
   26: region (Set the destination region)
   27: debug (Change debug level)
Select parameter to modify (1-27): 21
Please enter a value for parquet_db_user: root
Plugin Restore Options
Option                         Current Value        Default Value
instance_identifier:           *None*               (*none*)
from_snapshot_id:              *None*               (*none*)
instance_class:                *None*               (*none*)
availability_zone:             *None*               (*none*)
parameter_groups:              *None*               (*none*)
vpc_security_groups_ids:       *None*               (*none*)
tags:                          *None*               (*none*)
multi_az:                      *None*               (*none*)
db_port:                       *None*               (*none*)
storage_type:                  *None*               (*none*)
storage_throughput:            *None*               (*none*)
iops:                          *None*               (*none*)
pitr_from_instance_id:         *None*               (*none*)
pitr_date:                     *None*               (*none*)
pitr_latest:                   *None*               (*none*)
parquet_db_socket:             *None*               (*none*)
parquet_db_engine:             mysql                (*none*)
parquet_db_host:               *None*               (*none*)
parquet_db_name:               test                 (*none*)
parquet_db_port:               *None*               (*none*)
parquet_db_user:               root                 (*none*)
parquet_db_password:           *None*               (*none*)
parquet_save_mode:             *None*               (*none*)
access_key:                    *None*               (*none*)
secret_key:                    *None*               (*none*)
region:                        *None*               (*none*)
debug:                         *None*               (*none*)
Use above plugin configuration? (Yes/mod/no): mod
You have the following choices:
   1: instance_identifier (Set the identifier for a new restored database instance or cluster)
   2: from_snapshot_id (Set a snapshot identifier, exisiting in AWS to restore an instance or cluster directly from it)
   3: instance_class (Set database instance class)
   4: availability_zone (Set the destination availability zone for the instance(s) and its/their volume(s))
   5: parameter_groups (Set the name(s) of the parameter groups that will be applied to the restored database instance (separated by ','))
   6: vpc_security_groups_ids (Set the id(s) of the VPC Security Groups that will be applied to the restored database instance (separated by ','))
   7: tags (Set tags to the restored instance(s) (tag1key:tag1value,tag2key:tag2value...))
   8: multi_az (Configure the restored database instance as Multi AZ)
   9: db_port (Set the database port)
   10: storage_type (Set the instance storage type)
   11: storage_throughput (Set the instance storage throughput)
   12: iops (Iops value for instance storage)
   13: pitr_from_instance_id (Set the instance identifier that will reference the instance to be used to proceed with a Point In Time Recovery restore)
   14: pitr_date (Sets the date for Point in Time Recovery restore)
   15: pitr_latest (Run a Point in Time Recovery restore using the latest date available)
   16: parquet_db_socket (Set the socket path to use a socket based connection to restore parquet data from the backup directly into a database)
   17: parquet_db_engine (Set the engine (postgresql or mysql) to restore parquet data from the backup directly into a database)
   18: parquet_db_host (Set the host to connect and restore parquet data from the backup directly into a database)
   19: parquet_db_name (Set the database name to connect and restore parquet data from the backup directly into a database)
   20: parquet_db_port (Set the database port to connect and restore parquet data from the backup directly into a database)
   21: parquet_db_user (Set the database user to connect and restore parquet data from the backup directly into a database)
   22: parquet_db_password (Set the database password to connect and restore parquet data from the backup directly into a database)
   23: parquet_save_mode (Set the restore mode for a parquet restore: Append, Overwrite, ErrorIfExists or Ignore)
   24: access_key (Set a different access key to access to the destination)
   25: secret_key (Set a different secret key to access to the destination)
   26: region (Set the destination region)
   27: debug (Change debug level)
Select parameter to modify (1-27): 22
Please enter a value for parquet_db_password: root
Plugin Restore Options
Option                         Current Value        Default Value
instance_identifier:           *None*               (*none*)
from_snapshot_id:              *None*               (*none*)
instance_class:                *None*               (*none*)
availability_zone:             *None*               (*none*)
parameter_groups:              *None*               (*none*)
vpc_security_groups_ids:       *None*               (*none*)
tags:                          *None*               (*none*)
multi_az:                      *None*               (*none*)
db_port:                       *None*               (*none*)
storage_type:                  *None*               (*none*)
storage_throughput:            *None*               (*none*)
iops:                          *None*               (*none*)
pitr_from_instance_id:         *None*               (*none*)
pitr_date:                     *None*               (*none*)
pitr_latest:                   *None*               (*none*)
parquet_db_socket:             *None*               (*none*)
parquet_db_engine:             mysql                (*none*)
parquet_db_host:               *None*               (*none*)
parquet_db_name:               test                 (*none*)
parquet_db_port:               *None*               (*none*)
parquet_db_user:               root                 (*none*)
parquet_db_password:           root                 (*none*)
parquet_save_mode:             *None*               (*none*)
access_key:                    *None*               (*none*)
secret_key:                    *None*               (*none*)
region:                        *None*               (*none*)
debug:                         *None*               (*none*)
Use above plugin configuration? (Yes/mod/no): mod
You have the following choices:
   1: instance_identifier (Set the identifier for a new restored database instance or cluster)
   2: from_snapshot_id (Set a snapshot identifier, exisiting in AWS to restore an instance or cluster directly from it)
   3: instance_class (Set database instance class)
   4: availability_zone (Set the destination availability zone for the instance(s) and its/their volume(s))
   5: parameter_groups (Set the name(s) of the parameter groups that will be applied to the restored database instance (separated by ','))
   6: vpc_security_groups_ids (Set the id(s) of the VPC Security Groups that will be applied to the restored database instance (separated by ','))
   7: tags (Set tags to the restored instance(s) (tag1key:tag1value,tag2key:tag2value...))
   8: multi_az (Configure the restored database instance as Multi AZ)
   9: db_port (Set the database port)
   10: storage_type (Set the instance storage type)
   11: storage_throughput (Set the instance storage throughput)
   12: iops (Iops value for instance storage)
   13: pitr_from_instance_id (Set the instance identifier that will reference the instance to be used to proceed with a Point In Time Recovery restore)
   14: pitr_date (Sets the date for Point in Time Recovery restore)
   15: pitr_latest (Run a Point in Time Recovery restore using the latest date available)
   16: parquet_db_socket (Set the socket path to use a socket based connection to restore parquet data from the backup directly into a database)
   17: parquet_db_engine (Set the engine (postgresql or mysql) to restore parquet data from the backup directly into a database)
   18: parquet_db_host (Set the host to connect and restore parquet data from the backup directly into a database)
   19: parquet_db_name (Set the database name to connect and restore parquet data from the backup directly into a database)
   20: parquet_db_port (Set the database port to connect and restore parquet data from the backup directly into a database)
   21: parquet_db_user (Set the database user to connect and restore parquet data from the backup directly into a database)
   22: parquet_db_password (Set the database password to connect and restore parquet data from the backup directly into a database)
   23: parquet_save_mode (Set the restore mode for a parquet restore: Append, Overwrite, ErrorIfExists or Ignore)
   24: access_key (Set a different access key to access to the destination)
   25: secret_key (Set a different secret key to access to the destination)
   26: region (Set the destination region)
   27: debug (Change debug level)
Select parameter to modify (1-27): 23
Please enter a value for parquet_save_mode: Overwrite
Plugin Restore Options
Option                         Current Value        Default Value
instance_identifier:           *None*               (*none*)
from_snapshot_id:              *None*               (*none*)
instance_class:                *None*               (*none*)
availability_zone:             *None*               (*none*)
parameter_groups:              *None*               (*none*)
vpc_security_groups_ids:       *None*               (*none*)
tags:                          *None*               (*none*)
multi_az:                      *None*               (*none*)
db_port:                       *None*               (*none*)
storage_type:                  *None*               (*none*)
storage_throughput:            *None*               (*none*)
iops:                          *None*               (*none*)
pitr_from_instance_id:         *None*               (*none*)
pitr_date:                     *None*               (*none*)
pitr_latest:                   *None*               (*none*)
parquet_db_socket:             *None*               (*none*)
parquet_db_engine:             mysql                (*none*)
parquet_db_host:               *None*               (*none*)
parquet_db_name:               test                 (*none*)
parquet_db_port:               *None*               (*none*)
parquet_db_user:               root                 (*none*)
parquet_db_password:           root                 (*none*)
parquet_save_mode:             Overwrite            (*none*)
access_key:                    *None*               (*none*)
secret_key:                    *None*               (*none*)
region:                        *None*               (*none*)
debug:                         *None*               (*none*)
Use above plugin configuration? (Yes/mod/no): yes
Run Restore job
JobName:         RestoreFiles
Bootstrap:       /tmp/regress/working/127.0.0.1-dir.restore.3.bsr
Where:           /
Replace:         Always
FileSet:         Full Set
Backup Client:   127.0.0.1-fd
Restore Client:  127.0.0.1-fd
Storage:         File
When:            2024-06-06 14:39:13
Catalog:         MyCatalog
Priority:        10
Plugin Options:  User specified
OK to run? (Yes/mod/no): yes
Job queued. JobId=4
Restore job result
list joblog jobid=4
*list joblog jobid=4
| 127.0.0.1-dir JobId 4: Start Restore Job RestoreFiles.2024-06-06_14.39.14_13                         |
| 127.0.0.1-dir JobId 4: Restoring files from JobId(s) 1                                               |
| 127.0.0.1-dir JobId 4: Connected to Storage "File" at 127.0.0.1:8103 with TLS                        |
| 127.0.0.1-dir JobId 4: Using Device "FileStorage" to read.                                           |
| 127.0.0.1-dir JobId 4: Connected to Client "127.0.0.1-fd" at 127.0.0.1:8102 with TLS                 |
| 127.0.0.1-fd JobId 4: Connected to Storage at 127.0.0.1:8103 with TLS                                |
| 127.0.0.1-sd JobId 4: Ready to read from volume "TEST-2024-06-06:0" on File device "FileStorage" (/tmp/regress/tmp). |
| 127.0.0.1-sd JobId 4: Forward spacing Volume "TEST-2024-06-06:0" to addr=247                         |
| 127.0.0.1-sd JobId 4: Elapsed time=00:00:01, Transfer rate=159.2 K Bytes/second                      |
| 127.0.0.1-fd JobId 4: amazon-rds: Plugin log of this job available in: /tmp/regress/working/amazon-rds/amazon-rds-debug-0.log |
| 127.0.0.1-fd JobId 4: amazon-rds: Jar Version: 1.0.0                                                 |
| 127.0.0.1-fd JobId 4: amazon-rds: Starting backend restore process                                   |
| 127.0.0.1-fd JobId 4: amazon-rds: No port provided. Using default port for mysql:3306                |
| 127.0.0.1-fd JobId 4: amazon-rds: Instance identifier was not set                                    |
| 127.0.0.1-fd JobId 4: amazon-rds: From snapshot id was not set                                       |
| 127.0.0.1-fd JobId 4: amazon-rds: Pitr latest : false                                                |
| 127.0.0.1-fd JobId 4: amazon-rds: Pitr date was not set                                              |
| 127.0.0.1-fd JobId 4: amazon-rds: Pitr from instance id was not set                                  |
| 127.0.0.1-fd JobId 4: amazon-rds: Parquet DB Name: test                                              |
| 127.0.0.1-fd JobId 4: amazon-rds: Parquet DB User: root                                              |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:cdimages with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:cdimages restored                                            |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:fileevents with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:fileevents restored                                          |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:filemedia with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:filemedia restored                                           |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:restoreobject with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:restoreobject restored                                       |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:events with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:events restored                                              |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:malwaremd5 with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:malwaremd5 restored                                          |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:mediatype with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:mediatype restored                                           |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:file with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:file restored                                                |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:pool with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:pool restored                                                |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:metaattachment with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:metaattachment restored                                      |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:location with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:location restored                                            |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:status with 28 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:status restored                                              |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:counters with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:counters restored                                            |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:storage with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:storage restored                                             |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:unsavedfiles with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:unsavedfiles restored                                        |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:path with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:path restored                                                |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:client with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:client restored                                              |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:jobmedia with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:jobmedia restored                                            |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:basefiles with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:basefiles restored                                           |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:tagclient with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:tagclient restored                                           |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:log with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:log restored                                                 |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:malwaresha256 with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:malwaresha256 restored                                       |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:tagobject with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:tagobject restored                                           |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:snapshot with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:snapshot restored                                            |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:object with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:object restored                                              |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:tagjob with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:tagjob restored                                              |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:tagmedia with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:tagmedia restored                                            |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:device with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:device restored                                              |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:jobhisto with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:jobhisto restored                                            |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:pathhierarchy with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:pathhierarchy restored                                       |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:media with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:media restored                                               |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:pathvisibility with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:pathvisibility restored                                      |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:job with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:job restored                                                 |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:fileset with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:fileset restored                                             |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:metaemail with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:metaemail restored                                           |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:locationlog with 0 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:locationlog restored                                         |
| 127.0.0.1-fd JobId 4: amazon-rds: Restoring table:version with 1 records to database: test in mode:overwrite |
| 127.0.0.1-fd JobId 4: amazon-rds: Table:version restored                                             |
| 127.0.0.1-fd JobId 4: amazon-rds: No more items to restore. Restore ended                            |
| 127.0.0.1-dir JobId 4: Bacula 127.0.0.1-dir 18.0.3 (22May24):
Build OS:               x86_64-pc-linux-gnu ubuntu 22.04
JobId:                  4
Job:                    RestoreFiles.2024-06-06_14.39.14_13
Restore Client:         "127.0.0.1-fd" 18.0.3 (22May24) x86_64-pc-linux-gnu,ubuntu,22.04
Where:                  /
Replace:                Always
Start time:             06-jun-2024 14:39:16
End time:               06-jun-2024 14:39:27
Elapsed time:           11 secs
Files Expected:         41
Files Restored:         41
Bytes Restored:         118,684 (118.6 KB)
Rate:                   10.8 KB/s
FD Errors:              0
FD termination status:  OK
SD termination status:  OK
Termination:            Restore OK |
| 127.0.0.1-dir JobId 4: Begin pruning Jobs older than 6 months .                                      |
| 127.0.0.1-dir JobId 4: No Jobs found to prune.                                                       |
| 127.0.0.1-dir JobId 4: Begin pruning Files.                                                          |
| 127.0.0.1-dir JobId 4: No Files found to prune.                                                      |
| 127.0.0.1-dir JobId 4: End auto prune.                                                               |

See also

Previous articles:

Next articles:

Go back to: Operations.