mirror of
https://github.com/kevinveenbirkenbach/docker-volume-backup.git
synced 2024-11-22 00:11:03 +01:00
Implemented shutdown parameter
This commit is contained in:
parent
bf9986f282
commit
489b5796b7
@ -211,10 +211,13 @@ def is_image_ignored(container):
|
|||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def backup_with_containers_paused(volume_name, volume_dir, containers):
|
def backup_with_containers_paused(volume_name, volume_dir, containers, shutdown):
|
||||||
stop_containers(containers)
|
stop_containers(containers)
|
||||||
backup_volume(volume_name, volume_dir)
|
backup_volume(volume_name, volume_dir)
|
||||||
start_containers(containers)
|
|
||||||
|
# Just restart containers if shutdown is false
|
||||||
|
if not shutdown:
|
||||||
|
start_containers(containers)
|
||||||
|
|
||||||
def backup_mariadb_or_postgres(container, volume_dir):
|
def backup_mariadb_or_postgres(container, volume_dir):
|
||||||
'''Performs database image specific backup procedures'''
|
'''Performs database image specific backup procedures'''
|
||||||
@ -224,8 +227,7 @@ def backup_mariadb_or_postgres(container, volume_dir):
|
|||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def default_backup_routine_for_volume(volume_name, containers, shutdown):
|
||||||
def default_backup_routine_for_volume(volume_name, containers):
|
|
||||||
"""Perform backup routine for a given volume."""
|
"""Perform backup routine for a given volume."""
|
||||||
volume_dir=""
|
volume_dir=""
|
||||||
for container in containers:
|
for container in containers:
|
||||||
@ -246,9 +248,9 @@ def default_backup_routine_for_volume(volume_name, containers):
|
|||||||
if volume_dir:
|
if volume_dir:
|
||||||
backup_volume(volume_name, volume_dir)
|
backup_volume(volume_name, volume_dir)
|
||||||
if is_container_stop_required(containers):
|
if is_container_stop_required(containers):
|
||||||
backup_with_containers_paused(volume_name, volume_dir, containers)
|
backup_with_containers_paused(volume_name, volume_dir, containers, shutdown)
|
||||||
|
|
||||||
def backup_everything(volume_name, containers):
|
def backup_everything(volume_name, containers, shutdown):
|
||||||
"""Perform file backup routine for a given volume."""
|
"""Perform file backup routine for a given volume."""
|
||||||
volume_dir=create_volume_directory(volume_name)
|
volume_dir=create_volume_directory(volume_name)
|
||||||
|
|
||||||
@ -258,12 +260,14 @@ def backup_everything(volume_name, containers):
|
|||||||
|
|
||||||
# Execute file backups
|
# Execute file backups
|
||||||
backup_volume(volume_name, volume_dir)
|
backup_volume(volume_name, volume_dir)
|
||||||
backup_with_containers_paused(volume_name, volume_dir, containers)
|
backup_with_containers_paused(volume_name, volume_dir, containers, shutdown)
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser(description='Backup Docker volumes.')
|
parser = argparse.ArgumentParser(description='Backup Docker volumes.')
|
||||||
parser.add_argument('--everything', action='store_true',
|
parser.add_argument('--everything', action='store_true',
|
||||||
help='Force file backup for all volumes and additional execute database dumps')
|
help='Force file backup for all volumes and additional execute database dumps')
|
||||||
|
parser.add_argument('--shutdown', action='store_true',
|
||||||
|
help='Doesn\'t restart containers after backup')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
print('Start volume backups...')
|
print('Start volume backups...')
|
||||||
@ -276,9 +280,9 @@ def main():
|
|||||||
print('Skipped due to no running containers using this volume.')
|
print('Skipped due to no running containers using this volume.')
|
||||||
continue
|
continue
|
||||||
if args.everything:
|
if args.everything:
|
||||||
backup_everything(volume_name, containers)
|
backup_everything(volume_name, containers, args.shutdown)
|
||||||
else:
|
else:
|
||||||
default_backup_routine_for_volume(volume_name, containers)
|
default_backup_routine_for_volume(volume_name, containers, args.shutdown)
|
||||||
|
|
||||||
print('Finished volume backups.')
|
print('Finished volume backups.')
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user