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
2022-02-19 17:38:16 +01:00
.github/workflows perf(pipeline): added default_bump 2021-11-28 14:22:55 +01:00
Commands style(DeepSource): Added two ignores 2022-02-19 17:38:16 +01:00
Compressor style(DeepSource): Added two ignores 2022-02-19 17:38:16 +01:00
Logging Inital commit 2021-11-18 15:04:27 +01:00
Service feat(WindowsSrvc): Implemented Base of service 2022-02-05 15:41:00 +01:00
SQL feat(MSSQL): Fully implemented MS-SQL 2022-01-31 20:11:26 +01:00
StorageTypes refactor(Azure): Has now separate config struct 2021-12-31 17:18:12 +01:00
Tools refactor(SQL): Now has seperate config 2021-12-31 17:20:47 +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 docs(README): Updates MSSQL mentions 2022-01-31 20:13:05 +01:00

Scabiosa Backup Tool

Please keep in mind that this project is WIP.

Trello board: Click me!

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