mirror of
https://github.com/DarrylNixon/melamine.git
synced 2024-04-22 06:27:20 -07:00
Dry run logging
This commit is contained in:
parent
2b20dc6cc8
commit
dacc4a89c7
1 changed files with 20 additions and 6 deletions
|
@ -104,39 +104,53 @@ class ShredFile(AsyncObject):
|
||||||
logger.info(f"Got hash {sha1.hexdigest()}")
|
logger.info(f"Got hash {sha1.hexdigest()}")
|
||||||
|
|
||||||
# First pass: Overwrite with binary zeroes
|
# First pass: Overwrite with binary zeroes
|
||||||
logger.info(f"[1/4] Writing zeroes ({self.absolute_path.name})")
|
log_buf = f"[1/4] Writing zeroes ({self.absolute_path.name})"
|
||||||
await file.seek(0)
|
await file.seek(0)
|
||||||
if not dryrun:
|
if not dryrun:
|
||||||
await file.write(b"\x00" * self.byte_size)
|
await file.write(b"\x00" * self.byte_size)
|
||||||
|
else:
|
||||||
|
log_buf = "DRY RUN (no changes made) " + log_buf
|
||||||
|
logger.info(log_buf)
|
||||||
await file.flush()
|
await file.flush()
|
||||||
|
|
||||||
# Second pass: Overwrite with binary ones
|
# Second pass: Overwrite with binary ones
|
||||||
logger.info(f"[2/4] Writing ones ({self.absolute_path.name})")
|
log_buf = f"[2/4] Writing ones ({self.absolute_path.name})"
|
||||||
await file.seek(0)
|
await file.seek(0)
|
||||||
if not dryrun:
|
if not dryrun:
|
||||||
await file.write(b"\xff" * self.byte_size)
|
await file.write(b"\xff" * self.byte_size)
|
||||||
|
else:
|
||||||
|
log_buf = "DRY RUN (no changes made) " + log_buf
|
||||||
|
logger.info(log_buf)
|
||||||
await file.flush()
|
await file.flush()
|
||||||
|
|
||||||
# Third pass: Overwrite with random data
|
# Third pass: Overwrite with random data
|
||||||
logger.info(f"[3/4] Writing randoms ({self.absolute_path.name})")
|
log_buf = f"[3/4] Writing randoms ({self.absolute_path.name})"
|
||||||
await file.seek(0)
|
await file.seek(0)
|
||||||
random_data = token_bytes(self.byte_size)
|
random_data = token_bytes(self.byte_size)
|
||||||
if not dryrun:
|
if not dryrun:
|
||||||
await file.write(random_data)
|
await file.write(random_data)
|
||||||
|
else:
|
||||||
|
log_buf = "DRY RUN (no changes made) " + log_buf
|
||||||
|
logger.info(log_buf)
|
||||||
await file.flush()
|
await file.flush()
|
||||||
|
|
||||||
# Remove the file
|
# Remove the file
|
||||||
logger.info(f"[4/4] Unlinking {self.absolute_path}")
|
log_buf = f"[4/4] Unlinking {self.absolute_path}"
|
||||||
|
|
||||||
if not dryrun:
|
if not dryrun:
|
||||||
await file.unlink()
|
await file.unlink()
|
||||||
|
else:
|
||||||
|
log_buf = "DRY RUN (no changes made) " + log_buf
|
||||||
|
logger.info(log_buf)
|
||||||
|
|
||||||
# Remove any hardlinks
|
# Remove any hardlinks
|
||||||
if self.hardlinks:
|
if self.hardlinks:
|
||||||
logger.info(f"[5/4] Unlinking {len(self.hardlinks)} hardlinks")
|
log_buf = f"[5/4] Unlinking {len(self.hardlinks)} hardlinks"
|
||||||
if not dryrun:
|
if not dryrun:
|
||||||
for link in self.hardlinks:
|
for link in self.hardlinks:
|
||||||
await link.unlink()
|
await link.unlink()
|
||||||
|
else:
|
||||||
|
log_buf = "DRY RUN (no changes made) " + log_buf
|
||||||
|
logger.info(log_buf)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue