108 lines
No EOL
3.7 KiB
Markdown
108 lines
No EOL
3.7 KiB
Markdown
# Scabiosa Backup Tool
|
|
|
|
Please keep in mind that this project is WIP.
|
|
|
|
YouTrack Issues & Agile Board: [Click me!](https://codenoodles.youtrack.cloud/issues)
|
|
|
|
## What can it do?
|
|
- Backup you stuff via a dynamic configuration
|
|
- Log the Backup progress to a database
|
|
- Upload the files to a remote storage of your choice (see [Storage Types](#storage-types))
|
|
|
|
## Planned features for the Future!
|
|
- Backup restore
|
|
- Service for scheduled updates
|
|
- (Maybe) a web interface
|
|
|
|
## Database Types
|
|
- MariaDB
|
|
- MySQL
|
|
- MS-SQL
|
|
|
|
| Database Type | Config Type |
|
|
|---------------|-------------|
|
|
| MariaDB | mariadb |
|
|
| MySQL | mysql |
|
|
| MS-SQL | mssql |
|
|
|
|
|
|
## Storage types
|
|
- Local storage
|
|
- Azure File Share
|
|
- Azure Blob Storage (planned)
|
|
- S3 Bucket (far future)
|
|
- Dropbox (far future)
|
|
- OneDrive (far future)
|
|
- GDrive (far future)
|
|
|
|
| Storage Type | Config Type |
|
|
|-------------------------|--------------------------|
|
|
| Azure File Share | azure-fileshare |
|
|
| Local Storage | none |
|
|
|
|
|
|
## Config Explaination
|
|
|
|
### config.json
|
|
| Field | Type | Description |
|
|
|-----------------------|:----------------:|------------------------------------------------|
|
|
| **foldersToBackup** | ---------------- | ---------------------------------------------- |
|
|
| backupName | string | .bak file name |
|
|
| folderPath | string | Path to folder which should be backed up |
|
|
| remoteStorageType | string | See [StorageTypes](#storage-types) |
|
|
| remoteTargetPath | string | Sets the remotePath for remote backups |
|
|
| localTargetPath | string | Sets the targetPath for local backups |
|
|
| createLocalBackup | boolean | Sets if .bak file should also be saved locally |
|
|
|
|
### sql-config.json
|
|
| Field | Type | Description |
|
|
|--------------|:----------------:|------------------------------------------------|
|
|
| enableSQL | boolean | Enable/Disables the SQL entries |
|
|
| sqlType | string | See [DatabaseTypes](#database-types) |
|
|
| sql-address | string | Address to the SQL Server |
|
|
| sql-port | uint16 | SQL Server Port |
|
|
| database | string | Database name |
|
|
| db-user | string | SQL username from user which should be used |
|
|
| db-password | string | SQL password from user which should be used |
|
|
|
|
### azure.json
|
|
| Field | Type | Description |
|
|
|--------------------|:------:|-----------------------------------|
|
|
| fileshareName | string | The name of the Azure File Share |
|
|
| storageAccountName | string | Name of your storage account |
|
|
| storageAccountKey | string | Key for the storage account |
|
|
|
|
|
|
## Config Examples
|
|
|
|
### config.json (Linux)
|
|
```
|
|
{
|
|
"foldersToBackup": [
|
|
{
|
|
"backupName": "my-backup",
|
|
"folderPath": "/path/to/folder/to/backup",
|
|
"remoteStorageType": "remote-type",
|
|
"remoteTargetPath": "path/to",
|
|
"createLocalBackup": true,
|
|
"localTargetPath": "/path/for/local/backup"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### config.json (Windows)
|
|
```
|
|
{
|
|
"foldersToBackup": [
|
|
{
|
|
"backupName": "my-backup",
|
|
"folderPath": "D:\\Path\\To\\Folder\\To\\Backup",
|
|
"remoteStorageType": "remote-type",
|
|
"remoteTargetPath": "path/to",
|
|
"createLocalBackup": true,
|
|
"localTargetPath": "E:\\Path\\For\\Local Backup"
|
|
}
|
|
]
|
|
}
|
|
``` |