code: func (e *CombinedEtcdClient) Backup(version *EtcdVersion, backupDir string) error {
  	// We cannot use etcd/client (v2) to make this call. It is implemented in the etcdctl client code.
  	if version.Major != 2 {
  		return fmt.Errorf("etcd 2.x required but got version '%s'", version)
  	}
  	return e.runEtcdctlCommand(version,
  		"--debug",
  		"backup",
  		"--data-dir", e.cfg.dataDirectory,
  		"--backup-dir", backupDir,
  	)
  }
docs: // Backup creates a backup of an etcd2 data directory at the given backupDir.