Skip to content
Snippets Groups Projects

Db Profiles

1 file
+ 83
0
Compare changes
  • Side-by-side
  • Inline
# Database profiles
## Introduction
In this folder are several ini files.
They describe a database environment by the [detect] section. If a profile matches then a database will be dumped or restored.
## File names
File convention: `<DBTYPE>_<PROFILE>.ini`
* <DBTYPE> must match a database dumper in plugins/localdump/ without extension ".sh"
* <DBTYPE>_<PROFILE> is the target folder to store backups.
* <PROFILE> is a custom name to
* _<PROFILE> can be empty to mark a local database of the given type.
## Detect
To detect the existance of you can use the following keys. If all found detect entries match it is counted as detected.
| Key | Type | Description |
|--- |--- |--- |
| file[] | string | full path of a file. It must match "type". It can be given multiple times.
| process | regex | A binary to be matched in the process list
| tcp | integer | A tcp port number that must match
| tcp-process | regex | A process name offering the local tcp port (regex for last column in netstat -tulpen)
| tcp-target | string | A hostname for tcp port check, eg localhost
| type | regex | a matching regex for file -b FILE | grep -i REGEX; see "file[]"
Example:
Mysql detection in a docker container:
```ini
[detect]
process = 'mysqld|mariadb'
tcp = 13306
tcp-target = localhost
tcp-process = 'rootlesskit'
```
Multiple Sqlite files
```ini
[detect]
file[] = "/home/axel/data/docker/ciserver/data/imldeployment/data/database/logs.db"
file[] = "/home/axel/data/docker/ciserver/public_html/valuestore/data/versioncache.db"
type = "sqlite"
```
## Setter
If a profile detection was successful then values in the [set] section will be applied.
| Key | Type | Description |
|--- |--- |--- |
| su | string | User for su command; used for postgres
| dbuser | string | Database user; for replacement
| dbpassword | string | Password of database user; for replacement
| params | string | cli paramaters für dump / restore tools.
| env | string | extend environment with some variables, eg. export var1="something here". After backup/ restore this variables will be unset
Replacements that can be used for values `params` and `env`:
| Key | Description |
|--- |--- |
| {{tcp}} | value of [detect] -> tcp
| {{dbpassword}} | value of [set] -> dbpassword
| {{dbuser}} | value of [set] -> dbuser
| {{tcp-target}} | value of [detect] -> tcp-target
```ini
[set]
su = ''
dbuser = 'root'
dbpassword = '12345678'
params = '--port={{tcp}} --password={{dbpassword}} --user={{dbuser}} --host={{tcp-target}}'
env = 'export var1="happy meal"; export var2="new"; export var3="year!"'
```
Loading