diff --git a/README.md b/README.md index 2ff70a1..d893abf 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,8 @@ proxmoxbackupgo.exe 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) -secret string diff --git a/main.go b/main.go index 16de3a6..cdee0e6 100644 --- a/main.go +++ b/main.go @@ -59,6 +59,7 @@ func main() { secretFlag := flag.String("secret", "", "Secret for authentication") datastoreFlag := flag.String("datastore", "", "Datastore name") namespaceFlag := flag.String("namespace", "", "Namespace (optional)") + backupIDFlag := flag.String("backup-id", "", "Backup ID (optional - if not specified, the hostname is used as the default)") backupSourceDirFlag := flag.String("backupdir", "", "Backup source directory, must not be symlink") pxarOut := flag.String("pxarout", "", "Output PXAR archive for debug purposes (optional)") @@ -101,6 +102,9 @@ func main() { secret: *secretFlag, datastore: *datastoreFlag, namespace: *namespaceFlag, + manifest: BackupManifest{ + BackupID: *backupIDFlag, + }, } backupdir := *backupSourceDirFlag diff --git a/pbsapi.go b/pbsapi.go index 2ba7afe..32be883 100644 --- a/pbsapi.go +++ b/pbsapi.go @@ -348,8 +348,10 @@ func (pbs *PBSClient) Connect(reader bool) { pbs.manifest.BackupTime = time.Now().Unix() pbs.manifest.BackupType = "host" - hostname, _ := os.Hostname() - pbs.manifest.BackupID = hostname + if pbs.manifest.BackupID == "" { + hostname, _ := os.Hostname() + pbs.manifest.BackupID = hostname + } pbs.client = http.Client{ Transport: &http2.Transport{