3.6 KiB
3.6 KiB
Scabiosa Backup Tool
Please keep in mind that this project is WIP.
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)
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 |
| 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 |
| 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"
}
]
}