mirror of
https://github.com/kevinveenbirkenbach/docker-volume-backup.git
synced 2024-11-22 08:21:04 +01:00
Added more prints
This commit is contained in:
parent
79f4cb5e7f
commit
b06317ad48
@ -37,11 +37,13 @@ def create_backup_directories(base_dir, machine_id, repository_name, backup_time
|
|||||||
|
|
||||||
# Muss modifiziert werden.
|
# Muss modifiziert werden.
|
||||||
def get_database_name(container):
|
def get_database_name(container):
|
||||||
"""Extract the database name from the container name."""
|
database_name = re.split("(_|-)(database|db)", container)[0]
|
||||||
return re.split("(_|-)(database|db)", container)[0]
|
print(f"Extracted database name: {database_name}")
|
||||||
|
return database_name
|
||||||
|
|
||||||
def backup_database(container, databases, version_dir, db_type):
|
def backup_database(container, databases, version_dir, db_type):
|
||||||
"""Backup database (MariaDB or PostgreSQL) if applicable."""
|
"""Backup database (MariaDB or PostgreSQL) if applicable."""
|
||||||
|
print(f"Starting database backup for {container} using {db_type}...")
|
||||||
database_name = get_database_name(container)
|
database_name = get_database_name(container)
|
||||||
database_entry = databases.loc[databases['database'] == database_name].iloc[0]
|
database_entry = databases.loc[databases['database'] == database_name].iloc[0]
|
||||||
backup_destination_dir = os.path.join(version_dir, "sql")
|
backup_destination_dir = os.path.join(version_dir, "sql")
|
||||||
@ -54,15 +56,18 @@ def backup_database(container, databases, version_dir, db_type):
|
|||||||
backup_command = f"PGPASSWORD={database_entry['password']} docker exec -i {container} pg_dump -U {database_entry['username']} -d {database_entry['database']} -h localhost --no-password > {backup_destination_file}"
|
backup_command = f"PGPASSWORD={database_entry['password']} docker exec -i {container} pg_dump -U {database_entry['username']} -d {database_entry['database']} -h localhost --no-password > {backup_destination_file}"
|
||||||
|
|
||||||
execute_shell_command(backup_command)
|
execute_shell_command(backup_command)
|
||||||
|
print(f"Database backup for {container} completed.")
|
||||||
|
|
||||||
# OK
|
# OK
|
||||||
def backup_volume(volume_name, version_dir):
|
def backup_volume(volume_name, version_dir):
|
||||||
"""Backup files of a volume."""
|
"""Backup files of a volume."""
|
||||||
|
print(f"Starting backup routine for volume: {volume_name}")
|
||||||
files_rsync_destination_path = os.path.join(version_dir, volume_name, "files")
|
files_rsync_destination_path = os.path.join(version_dir, volume_name, "files")
|
||||||
pathlib.Path(files_rsync_destination_path).mkdir(parents=True, exist_ok=True)
|
pathlib.Path(files_rsync_destination_path).mkdir(parents=True, exist_ok=True)
|
||||||
source_dir = f"/var/lib/docker/volumes/{volume_name}/_data/"
|
source_dir = f"/var/lib/docker/volumes/{volume_name}/_data/"
|
||||||
rsync_command = f"rsync -abP --delete --delete-excluded {source_dir} {files_rsync_destination_path}"
|
rsync_command = f"rsync -abP --delete --delete-excluded {source_dir} {files_rsync_destination_path}"
|
||||||
execute_shell_command(rsync_command)
|
execute_shell_command(rsync_command)
|
||||||
|
print(f"Backup routine for volume: {volume_name} completed.")
|
||||||
|
|
||||||
# OK
|
# OK
|
||||||
def has_image(container,image):
|
def has_image(container,image):
|
||||||
|
Loading…
Reference in New Issue
Block a user