backups: allow provide full path for the backup (instead of directory) (#801)
This will allow the user to choose custom filename, instead of auto generated 'qubes-backup-XXX'.
This commit is contained in:
parent
b298110d5f
commit
5d7688a2fe
@ -444,14 +444,17 @@ def backup_do(base_backup_dir, files_to_backup, passphrase,
|
||||
running_backup_operation.processes_to_kill_on_cancel.append(vmproc)
|
||||
else:
|
||||
# Prepare the backup target (local file)
|
||||
backup_target = base_backup_dir + "/qubes-{0}". \
|
||||
format(time.strftime("%Y-%m-%dT%H%M%S"))
|
||||
if os.path.isdir(base_backup_dir):
|
||||
backup_target = base_backup_dir + "/qubes-{0}". \
|
||||
format(time.strftime("%Y-%m-%dT%H%M%S"))
|
||||
else:
|
||||
backup_target = base_backup_dir
|
||||
|
||||
# Create the target directory
|
||||
if not os.path.exists (base_backup_dir):
|
||||
raise QubesException(
|
||||
"ERROR: the backup directory {0} does not exists".
|
||||
format(base_backup_dir))
|
||||
# Create the target directory
|
||||
if not os.path.exists (os.path.dirname(base_backup_dir)):
|
||||
raise QubesException(
|
||||
"ERROR: the backup directory for {0} does not exists".
|
||||
format(base_backup_dir))
|
||||
|
||||
# If not APPVM, STDOUT is a local file
|
||||
backup_stdout = open(backup_target,'wb')
|
||||
|
@ -107,7 +107,10 @@ def main():
|
||||
if not options.appvm:
|
||||
appvm = None
|
||||
|
||||
stat = os.statvfs(base_backup_dir)
|
||||
if os.path.isdir(base_backup_dir):
|
||||
stat = os.statvfs(base_backup_dir)
|
||||
else:
|
||||
stat = os.statvfs(os.path.dirname(base_backup_dir))
|
||||
backup_fs_free_sz = stat.f_bsize * stat.f_bavail
|
||||
print
|
||||
if (total_backup_sz > backup_fs_free_sz):
|
||||
|
Loading…
Reference in New Issue
Block a user