This software implements a proxmox backup client software for windows, backup only as of now Works on linux too especially for development
The software is still alpha quality and i take no responsability for any kind of damage or data loss even of source files.
Contributions are welcome especially
- GUI with tray icon to show backup progress and backup taking place
- Encryption support
- A GUI way of configuring it and maybe create a json job file similiar freefilesync does
- Async upload / compress and multicore upload + compression of chunks
- Proxmox side patch to add another kind of entry to pxar format with Windows security descriptors in it
- Support for windows symlinks
- Anything interesting you can come up with :)
A typical command would look like:
proxmoxbackupgo.exe -baseurl "https://yourpbshost:8007" -certfingerprint pbsfingerprint -authid "user@realm!apiid" -secret "apisecret" -backupdir "C:\path\to\backup" -datastore "datastorename"
proxmoxbackupgo.exe
-authid string
Authentication ID (PBS Api token)
-secret string
Secret for authentication
-backupdir string
Backup source directory, must not be symlink
-baseurl string
Base URL for the proxmox backup server, example: https://192.168.1.10:8007
-certfingerprint string
Certificate fingerprint for SSL connection, example: ea:7d:06:f9...
-datastore string
Datastore name
-namespace string
Namespace (optional)
-backup-id string
Backup ID (optional - if not specified, the hostname is used as the default for host-type backups)
-pxarout string
Output PXAR archive for debug purposes (optional)
-backupstream string ***NEW***
Filename for stream backup
-mail-host string
mail notification system: mail server host(optional)
-mail-port string
mail notification system: mail server port(optional)
-mail-username string
mail notification system: mail server username(optional)
-mail-password string
mail notification system: mail server password(optional)
-mail-insecure bool
mail notification system: allow insecure communications(optional)
-mail-from string
mail notification system: sender mail(optional)
-mail-to string
mail notification system: receiver mail(optional)
-mail-subject-template string
mail notification system: mail subject template(optional)
-mail-body-template string
mail notification system: mail body template(optional)
-config string
Path to JSON config file. If this flag is provided all the others will override the loaded config file
For JSON configuration a JSON example is provided, fill in only the needed fields.
Note on mail templating: Go's templating engine is used for mail subjects and bodies, please refer to the documentation for the syntax. The following variables are available for templating:
.NewChunks
: number of new chunks created.ReusedChunks
: number of chunks reused.Datastore
: datastore name.Error
: error message if any.Hostname
: hostname of the machine.StartTime
: time the backup started.EndTime
: time the backup ended.Duration
: duration of the backup.FromattedDuration
: formatted duration of the backup.Success
: a boolean telling whether the backup was successful.Status
: string representation of the backup status [SUCCESS, FAILURE]
This allows backing up a stream instead of a PXAR, allows endless possibilities for example you can invoke
mysqldump yourdatabase | ./proxmoxbackupgo -backupstream yourdatabase.sql [other options]
This allows leveraging buzhash for dedup even when using tar for example, or the sql dump itself, and if someone wants to attempt it should be possible with some hack to pipe DISM command to generate WIM image to this and have full host backup
Windows defender antimalware being active will slow backup down up to 25% of attainable speed
There's as of now no mechanism to prevent two instances being launched at same time which will screw up VSS and backup If you using windows planning utility it should theoretically prevent two instances starting at same time when originating from same job