Skip to content

Commit cb38afa

Browse files
committed
Fix encryption options and custom dump names
1 parent af465f3 commit cb38afa

File tree

4 files changed

+21
-17
lines changed

4 files changed

+21
-17
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,4 +83,4 @@ services:
8383
8484
## Credits
8585
86-
Inspired by [kibatic/docker-mysql-backup](https://github.com/kibatic/docker-mysql-backup)
86+
Inspired by [kibatic/docker-mysql-backup](https://github.com/kibatic/docker-mysql-backup)

main.py

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848

4949
for i, container in enumerate(containers):
5050
database = Database(container, global_labels)
51-
dump_file = f"/dump/{database.dump_file if database.dump_file != None else container.name}.sql"
51+
dump_file = f"/dump/{database.dump_name if database.dump_name != None else container.name}.sql"
5252
failed = False
5353

5454
logging.info(
@@ -160,20 +160,24 @@
160160
logging.debug(f"Encrypting dump")
161161
encrypted_dump_file = f"{dump_file}.aes"
162162

163-
try:
164-
if os.path.exists(encrypted_dump_file):
165-
os.remove(encrypted_dump_file)
166-
167-
pyAesCrypt.encryptFile(
168-
dump_file, encrypted_dump_file, database.encryption_key
169-
)
170-
os.remove(dump_file)
171-
except Exception as e:
172-
logging.error(f"FAILED: Error while encrypting: {e}")
163+
if database.encryption_key == None:
164+
logging.error(f"FAILED: No encryption key specified!")
173165
failed = True
174-
175-
processed_dump_size = os.path.getsize(encrypted_dump_file)
176-
dump_file = encrypted_dump_file
166+
else:
167+
try:
168+
if os.path.exists(encrypted_dump_file):
169+
os.remove(encrypted_dump_file)
170+
171+
pyAesCrypt.encryptFile(
172+
dump_file, encrypted_dump_file, database.encryption_key
173+
)
174+
os.remove(dump_file)
175+
except Exception as e:
176+
logging.error(f"FAILED: Error while encrypting: {e}")
177+
failed = True
178+
179+
processed_dump_size = os.path.getsize(encrypted_dump_file)
180+
dump_file = encrypted_dump_file
177181

178182
else:
179183
database.encrypt = False

src/database.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def _load_labels(self, values):
5656
if "port" in values: self.port = values["port"]
5757
if "username" in values: self.username = values["username"]
5858
if "password" in values: self.password = values["password"]
59-
if "dump_file" in values: self.dump_file = values["dump_file"]
59+
if "dump_name" in values: self.dump_name = values["dump_name"]
6060
if "compress" in values: self.compress = distutils.util.strtobool(values["compress"])
6161
if "compression_level" in values: self.compression_level = values["compression_level"]
6262
if "encrypt" in values: self.encrypt = distutils.util.strtobool(values["encrypt"])

src/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"dump_name": None,
2424
"compress": "false",
2525
"compression_level": 6,
26-
"encrypt": "true",
26+
"encrypt": "false",
2727
"encryption_key": None
2828
}
2929

0 commit comments

Comments
 (0)