My own backup tool I used for a while. Project I used to learn Golang
This repository has been archived on 2026-03-18. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Find a file
Liliesh d6c0f84a22
Some checks are pending
Go / build (push) Waiting to run
Update README
2026-03-18 19:01:57 +01:00
.github/workflows perf(pipeline): added default_bump 2021-11-28 14:22:55 +01:00
Commands style(GenerateDefaultConfigs.go): Removed unnecessary brackets 2022-02-19 19:17:42 +01:00
Compressor style(Compression): Remove unnecessary type type declarations 2022-02-22 18:37:45 +01:00
Logging refactor(Logger): Removed unused function and comment 2022-02-19 19:23:51 +01:00
Service feat(WindowsSrvc): Implemented Base of service 2022-02-05 15:41:00 +01:00
SQL refactor(SQL): Fixed declaration of LogType constants 2022-02-22 13:47:36 +01:00
StorageTypes refactor(AzureFileStorage): Removed unesessary type declarations 2022-02-22 13:56:39 +01:00
Tools fix(Config): Fixed file permissions 2022-02-19 18:57:59 +01:00
.deepsource.toml style(DeepSource): Added DeepSource toml 2022-02-19 16:53:35 +01:00
.gitignore refactor(.gitignore): added config folder 2021-12-31 17:20:09 +01:00
go.mod refactor(go.mod): Added go-svc package 2022-02-05 15:40:40 +01:00
go.sum refactor(go.mod): Added go-svc package 2022-02-05 15:40:40 +01:00
main.go style(Naming): Renamed Command funcs correctly 2022-02-05 15:40:12 +01:00
README.md Update README 2026-03-18 19:01:57 +01:00

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"
    }
  ]
}